java try_catch 分析

1.若一段代码前有异常抛出,并且这个异常没有被捕获,这段代码将产生编译时错误「无法访问的语句」。如

public class try_catch_Demo {
    public static void main(String[] args) {
        method0();
        method2(1,0);
       int res= method1(1,0);
        System.out.println(res);
    }
    private static void method0() {
       throw new RuntimeException();
        System.out.println("这句不会执行");
    }
}

2,若一段代码前有异常抛出,并且这个异常被try…catch所捕获,若此时catch语句中没有抛出新的异常,则这段代码能够被执行,

//代码3
        try {
            throw new Exception("参数越界");
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("异常后");//可以执行

3,若try中有异常,则catch捕获,catch中抛出异常,则终止method3程序,主程序终止;如果调用者,有try{ method3()},则程序跳转到调用者(main中)的catch 来处理

    private static void method3() {
        try{
            throw new RuntimeException();
        }catch (Exception e){
            throw new RuntimeException();
        }
        //System.out.println("这句不会执行");
    }

 

posted @ 2020-11-27 10:44  张艳涛&java  阅读(134)  评论(0编辑  收藏  举报