废话不说先贴图
所有的异常和错误都继承与Throwable类,它的下面又分为两大子类。
1.Error(uncheck)
Error,错误。它是java程序中不被捕获的错误,并且总是不被控制。
例如:OutOfMemoryError
2.Exception(check)
Exception,异常。所有的异常类都继承于java.lang.Exception,异常又被分为两大种,
a.运行时异常(RuntimeException)
运行时异常在编译器中编写的时候不会被编译器检测出来。
例如:NullPointerException(空指针异常),ArithmeticException(计算异常),ClassCastException(类型转换异常)
,ArrayIndexOutOfBoundsException(数组越界异常)
b.编译异常(RuntimeException以外的异常)
编译异常在编译器中编写的时候会被编译器检测出来,即需要try..catch...finally...或throws处理的异常。
异常的处理
异常总是需要抛出才能被捕获,下去为异常处理的关键字