A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 韩俊 中级黑马   /  2012-12-1 15:25  /  1502 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

当报错:不是所有值都返回路径。一般错误在哪

5 个回复

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

回复 使用道具 举报
定义一个方法时有返回值类型,但是方法体里面没有return的值
回复 使用道具 举报
定义的方法有返回值,但是实际并没有要返回的值
回复 使用道具 举报
当你的程序具有返回值并且其中有多条路径,但是有一些路径没有返回。就会报这个warning
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马