1、 RuntimeException异常类及其下面的子类均为“运行时异常”,否则均为“检查时异常”。
System.out.println(2/0);
//结果:
//java.lang.ArithmeticException: / by zero
// at 异常.Test1.main(Test1.java:19)
//ArithmeticException是RuntimeException的子类,所以该异常是运行时异常。
Class.forName("java.lang.Object");
//结果:
//Exception in thread "main" java.lang.Error: Unresolved compilation problem:
// Unhandled exception type ClassNotFoundException
// at 异常.Test1.main(Test1.java:20)
//ClassNotFoundException不是RuntimeException的子类,所以该异常是检查时异常。
2、运行时异常是程序运行时出现的异常,不需要显示处理;检查时异常必须显示处理,即必须在编程中就进行处理,否则编译不通过。
System.out.println(2/0);//不需要显示处理 运行时异常
Class.forName("java.lang.Object");//必须显示处理 检查时异常