Java中的异常处理(二)

1.finally

package second;
public class C {
    public static void main(String[] args){
        String name = null;//定义一个null的字符串
        int name_len = 0;
        /**
         * 异常前的代码块会被执行
         * 异常后的代码块不会被执行,try会直接寻找异常处理catch
         */
        try{
            System.out.println("我还没异常!");
            name_len = name.length();//由于name为null,这里程序会爆出NullPointerException的异常
            System.out.println("我还没异常!");
        }catch(NullPointerException e){//捕获异常
            System.out.println("程序异常了!");
        }catch(Exception e){
            System.out.println(e.getStackTrace());
        }finally{//一个try中只能有一个finally,并且必须在最尾部添加
            System.out.println("管你一部一场我都要执行");
        }
    }
}

2.异常的throw处理

package second;

public class AAA {
    static void method() throws ClassNotFoundException{
        try{
            Class.forName("");
        }catch(ClassNotFoundException e){
            System.out.println("100");
            throw e;
        }
    }
    public static void main(String[] args){
        try{
            method();
        }catch(ClassNotFoundException e){
            System.out.println("1");
        }
    }
}
原文地址:https://www.cnblogs.com/shibazi/p/3844188.html