java初学者 加入小组

294个成员 65个话题 创建时间:2015-02-03

求助,很奇怪。。想半天也没明白

发表于2015-09-30 2453次查看

class Math{
    public int div(int i,int j) throws Exception{    // 定义除法操作,如果有异常,则交给被调用处处理
        System.out.println("***** 计算开始 *****") ;
        int temp = 0 ;    // 定义局部变量
        try{
           temp = i / j ;    // 计算,但是此处有可能出现异常
          
           throw new Exception("aaa") ;         //.........................在此处加了一个自定义异常
        }catch(Exception e){
            //System.out.println(e);
            throw new Exception("hello") ;
        }finally{    // 不管是否有异常,都要执行统一出口
            System.out.println("***** 计算结束 *****") ;
        }
        return temp ;
    }
};
public class Demo03{
    public static void main(String args[]){
        Math m = new Math() ;
        try{ 
            System.out.println("除法操作:" + m.div(10,0)) ;
        }catch(Exception e){
            System.out.println("异常产生:" + e) ;
        }
    }
};

为什么编译提示无法访问语句 return temp,但是去掉自己加的 throw new Exception("aaa") ;就可以访问return temp了?求帮忙,谢谢啦

 

发表回复
你还没有登录,请先 登录或 注册!