1.异常处理能够使一个方法给它的调用者抛出一个异常。
2.Java异常是派生自java.lang.Throwable的类的实例。Java提供大量预定义的异常类,例如,Error、 Exception、RuntimeException、ClassNotFoundException、Nul1PointerException和 ArithmeticException。也可以通过扩展Exception类来定义自己的异常类。
3.异常发生在一个方法的执行过程中。RuntimeException和Error都是免检异常,其他所有的异常都是必检的。
4.当声明一个方法时,如果这个方法可能抛出一个必检异常,则必须声明为必检异常,告诉编译器可能会出现什么错误。
5.声明异常的关键字是throws,而抛出异常的关键字是throw。
6.如果调用声明了必检异常的方法,必须将该方法调用放在try语句中。在方法执行过程中出现异常时,catch块会捕获并处理异常。
7.如果一个异常没有被当前方法捕获,则该异常被传给调用者。这个过程不断重复直到异常被捕获或者传递给main方法。
8.可以从一个通用的父类派生出各种不同的异常类。如果一个catch块捕获到父类的异常对象,它也能捕捉这个父类的子类的所有异常对象。
9.在catch块中,异常被指定顺序是非常重要的。如果在一个类的父类的异常对象之前没有指定这个类的一个异常对象,就会导致一个编译错误。
10.当方法中发生异常时,如果异常没有被捕获,方法将会立刻退出。如果方法想在退出前执行一些任务,可以在方法中捕获这个异常,然后再重新抛给真正的处理器。
11.任何情况下都会执行finally块中的代码,不管try块中是否出现或者捕获了异常。
12.异常处理将错误处理代码从正常的程序设计任务中分离出来,这样,就会使得程序更易于阅读和修改。