黑马程序员技术交流社区

标题: 小问题 [打印本页]

作者: 韩俊    时间: 2012-12-1 15:25
标题: 小问题
当报错:不是所有值都返回路径。一般错误在哪
作者: 李行周    时间: 2012-12-1 16:03
有返回类型,你没有给它相应的返回值。也就是return
作者: 刘亚龙    时间: 2012-12-1 19:25
这个错误是提示出你定义的方法需要有返回值,但是执行方法体的过程中并不是所有的路径都会返回这个类型的值。这个“所有路径”包括你这个方法从开始执行到方法结束所有可能执行到的语句,也就是如果你的方法中含有if,switch之类的语句,则他们的每一个条件都要有返回值。比如下面定义一个返回值为int的函数:
public int func()
        {
            int i = 20;
            if (i > 10)
                return 1;
        }
看似好像没有问题,但是编译就会报错:不是所有路径都有返回值。因为当i<=10的时候,方法没有指明要返回什么数值,就好像是少了else判断。一般碰到这样的问题大多是因为我们编写的方法中的条件判断太多而不小心忽视某个分支的返回值,或者像上面代码中只简单写了if而忽略了else。碰到这个错误建议从条件语句入手,很好解决。


作者: 罗代势    时间: 2012-12-2 14:23
定义一个方法时有返回值类型,但是方法体里面没有return的值
作者: 刘-洋    时间: 2012-12-2 17:06
定义的方法有返回值,但是实际并没有要返回的值

作者: 黑马-张扬    时间: 2012-12-2 17:07
当你的程序具有返回值并且其中有多条路径,但是有一些路径没有返回。就会报这个warning




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2