Throwable 类是 Java 语言中所有错误或异常的超类。它的两个子类分别是Error(错误)和Exception(异常)。Exception又分为CheckedException和UnCheckedException,其中UncheckedException就是我们常说的RuntimeException,UncheckedException是RuntimeException的子类。一般来说RuntimeException是不希望通过捕获来处理的,应该在编程的时候就考虑到并处理它。Unchecked和Checked的异常没有功能性的区别,检查类型的异常能实现的功能,非检查型异常也能实现,他俩在使用的效果上也没有区别。
1.Error
Error有几个关键点:(1)Error发生的时间是不确定的;(2)Error一般都是底层的资源或者是系统层面的错误,例如内存溢出等;(3)Error的捕获应该在系统层面上进行
注:平常的编程中Error这种错误是不长见的,所以就不多说了。
2.RuntimeException(运行时异常)
常见的运行时异常主要有一下几种:
ClassCastException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, IndexOutOfBoundsException, NullPointerException, SystemException, UndeclaredThrowableException, UnknownElementException, UnknownTypeException,
注:RuntimeException在代码编写阶段是可以避免的,也是我们在编码过程中最常见的额错误类型。
3.CheckedException
try(){
}catch(Exception e){
}finally{
}
try-catch捕获的异常一般都是检查异常。
二、异常的处理
1、throws Exception直接在方法的声明后面直接抛出,不做任何处理;
2、throw Exception在方法内部抛出,也是抛给了上一层;
3、try-catch捕获异常,程序出错后还可以继续执行,不会让程序中断。
新闻热点
疑难解答