(1)
运行时异常:
java.lang.RuntimeException
的子类或是间接的子类
a. 特点:编译器不会检测它,运行时报错
b. 案例:
java.lang.ArrayIndexOutOfBoundsException(数组的下标越界)
java.lang.StringIndexOutOfBoundsException(字符串下标越界)
java.lang.IndexOutOfBoundsException(下标越界)
java.lang.NullPointerException(空指针异常)
java.lang.NumberFormatException(数字格式转换异常)
java.lang.ClassCastException(类型转换异常)
c. 处理:这种异常可以避免,可以处理也可以不处理
(2) 非运行时异常:和java.lang.RuntimeException
没有任何继承关系的异常类
a. 特点
:
编译过程中编译器进行检测,编译报错
b. 案例:
Class.forName("hello");
c. 处理:非运行时异常一旦出现必须处理,否则编译无法通过
d. 编译报错:
i. 语法问题
ii. 非运行时异常,必须通过异常的处理手段进行解决