一。异常的超级父类是Throwable,实现的两个子类是error和exception。error是错误类。
Exception分为Runtimeexception及其子类以及除此之外的异常。
runtimeexcpetion特点是不必在方法中声明,调用者不需要知道异常的可能存在,也不必去处理异常。
因为这个类型的异常并不是由于程序的功能不完善或程序本身造成,而是程序员在调用时由于操作导致的异常。得到异常马上可以修改。
除此之外的异常则是由于程序本身的不完善,需要提醒调用者可能出现的异常。
二。异常的转换
通过捕获后并没有处理,而是以另一种异常形式抛出。
接受者一般会继续抛出或处理。
三。常见runtimeException
在java的异常类体系中,Error和RuntimeException是非检查异常,其他都是检查异常。
所有方法都可以在不声明throws的情况下抛出RuntimeException及其子类。不可以在不声明的情况下抛出非RuntimeException.
非RuntimeException要catch或throws。
一个方法抛出了异常,可以不处理,但在调用方法需要处理。
RuntimeException由jvm处理。
常见的RuntimeException:NullPointerException,IllegalArgumentException,NumberFormatException,ArrayIndexOutOfBoundsException,
StringIndexOutOfBoundsException,ClassCastException,UnsupportedOperationException,ArithmeticException,