checked Exception and RuntimeException

1. RuntimeException 虚拟机执行程序时,如果检测到此类异常,会直接抛出并终止程序。通常情况下,程序员不try/catch这种异常,因为此种异常的抛出表示代码存在质量问题。另外一点,此种异常,不需要程序员在代码中显示的抛出,也不需要在方法声明时,进行抛出

 

class Test {
    public static void test()/**此处不需要throws NullPointerException*/{
        throw new NullPointerException();
    }
}
 

2. checked Exception,程序员负责捕捉并进行处理,如果try/catch而未rethrow,则程序可以继续执行。未进行try/catch时,方法中需要显式throws此种异常

class MyException extends Exception {
    MyException() {
    }
}

class Test {
    public static void test() throws MyException/**显式抛出异常*/{
        throw new MyException();
    }
}
 

你可能感兴趣的:(虚拟机)