一、概述
在Java程序设计语言中,异常对象都是派生自java.lang.Throwable类的一个实例!所有派生于Error类或RuntimeException类的异常称为未检查(unchecked)异常,所有其他的异常称为已检查(checked)异常。
异常处理的方法有二种:1. 声明异常 2. 捕获异常
[img]http://dl.iteye.com/upload/attachment/153965/a6bb5118-0b3c-307d-9974-5ded399f4a88.png[/img]
二、声明异常
关键字: [color=brown]throws, throw[/color]
1. 已检查异常必须声明,未检查异常可声明也可不声明。
2. 如果在子类中覆盖了超类的一个方法,子类方法中声明的已检查异常(未检查异常可以不再声明)不能超过超类方法中声明的异常范围(也就是说,子类方法中抛出的异常范围更小,或者根本不抛出任何异常(此时为捕获了超类抛出的所有已检查异常))。
3. 如果超类方法中没有抛出任何已检查异常,子类也不能抛出任何已检查异常。
4. Java 编译器严格的执行throws说明符。如果调用了一个抛出已检查异常的方法,就必须对它进行处理,或者将它传递出去。
三、捕获异常
关键字:[color=brown]try, catch, finally[/color]
四、参考类
[url=http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/lang/Throwable.html]1. java.lang.Throwable:[/url]
在Java程序设计语言中,异常对象都是派生自java.lang.Throwable类的一个实例!所有派生于Error类或RuntimeException类的异常称为未检查(unchecked)异常,所有其他的异常称为已检查(checked)异常。
异常处理的方法有二种:1. 声明异常 2. 捕获异常
[img]http://dl.iteye.com/upload/attachment/153965/a6bb5118-0b3c-307d-9974-5ded399f4a88.png[/img]
二、声明异常
关键字: [color=brown]throws, throw[/color]
1. 已检查异常必须声明,未检查异常可声明也可不声明。
2. 如果在子类中覆盖了超类的一个方法,子类方法中声明的已检查异常(未检查异常可以不再声明)不能超过超类方法中声明的异常范围(也就是说,子类方法中抛出的异常范围更小,或者根本不抛出任何异常(此时为捕获了超类抛出的所有已检查异常))。
3. 如果超类方法中没有抛出任何已检查异常,子类也不能抛出任何已检查异常。
4. Java 编译器严格的执行throws说明符。如果调用了一个抛出已检查异常的方法,就必须对它进行处理,或者将它传递出去。
三、捕获异常
关键字:[color=brown]try, catch, finally[/color]
四、参考类
[url=http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/lang/Throwable.html]1. java.lang.Throwable:[/url]