Java中的异常总结

异常总结

异常分为检查型异常(Unchecked Excepthon)和非检查型异常(CheckException),非检查型异常包括Error和RuntimeException,其他所有异常都未检查型异常。

非检查型异常:在编译器不会主动检查的异常类型,编写过程中不要求开发者处理。这类异常一般可以避免,因此无需强制处理,比如空指针异常。

检查型异常:在程序编写过程中就会被检查,编译器会主动检查,检查的目的一方面是因为该类异常的发生难以避免,另一方面就是让开发者去解决掉这类异常,所以必须用try...catch处理。例如:文件读取异常

运行时异常:运行前常常不能发现的错误,常常是由于逻辑上的问题而引起的。比如数组越界访问,空指针异常,类型转化异常等等。

Java中的异常总结

异常处理总结

  1. throws,抛异常处理。在方法中出现异常,就由方法抛出来,交给调用此方法的方法来处理。因此,本质上抛异常并没有把问题解决,只是把问题转嫁给了别人。如果所有的方法都用抛异常的方法处理,那么当程序真的发生异常的时候,程序就会崩溃,并报出异常。
  2. try...catch处理。这种方法才真正的解决问题。如果出现了异常,系统并不会崩溃,而使会运行catch中的语句块。
  3. throw,主动抛异常。