快捷导航

请问为什么会报错

package CAR;public class Test {        public int test() {                int a=10;//除数                int b=100;//结果                try{                        while(a>-1){                                a--;                                b=b+100/a;                                                                                }                }                catch(Exception e){                        System.out.println("程序出现异常啦!!!");                 return 555;//我在catch语句中说明了了方法的会返回值                }//这里我删除了方法的返回值                /*finally{                        System.out.println("!!!");                                        }*/                        }        public static void main(String[] args) {                Test one=new Test();                int sum=one.test();                System.out.println("哦"+"\t"+sum);                        }}请问为什么还是会报错,我在删除了方法的返回值但是我在catch中说明了方法的返回值,提示是方法应该有一个int的返回值类型。/

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

除了用来处理异常的return,你在最后还得写一个return,万一程序没有异常,必须要有返回值。
回复

使用道具 举报

catch模块只有在发生了异常的时候才会执行,并不是百分百会执行到你的return 语句,所以程序在编译的时候,会判定你没有返回结果,所以该方法报错。
当然如果你把return 语句放到finally语句,那是会百分百执行,方法不会有问题的
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP