第十一章异常处理 课程内容:异常与异常类型、处理异常、 finally子句、使用异常的警告、创建自己的 异常类 ■授课时间:2006/06/01 ■ 教学目标:了解Java的异常机制;学习如何在 程序运行期间产生异常前找到代码中的bug, 以及相关的小技巧 重点:处理错误、捕获异常、使用异常的一些 技巧 ■手 教学方法:讲授 ■教学过程:(省略) ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 课程内容: 异常与异常类型、处理异常、 finally子句、使用异常的警告、创建自己的 异常类 授课时间:2006/06/01 教学目标:了解Java的异常机制;学习如何在 程序运行期间产生异常前找到代码中的bug, 以及相关的小技巧 重点:处理错误、捕获异常、使用异常的一些 技巧 教学方法:讲授 教学过程:(省略) 第十一章 异常处理
处理错误 目标:返回到安全状态并且允许用户执行其 他命令 或者允许用户保存其工作并平缓终止该程序 无法完成的任务 程序控制权由错误地转移至错误处理器 错误的种类:用户输入错误、设备错误、物 理限制、代码错误等 异常发生时,抛出一个封装了错误信息的对 象,异常处理机制搜索相应的异常处理器对 该错误进行处理 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 处理错误 目标:返回到安全状态并且允许用户执行其 他命令 或者允许用户保存其工作并平缓终止该程序 无法完成的任务 程序控制权由错误地转移至错误处理器 错误的种类:用户输入错误、设备错误、物 理限制、代码错误等 异常发生时,抛出一个封装了错误信息的对 象,异常处理机制搜索相应的异常处理器对 该错误进行处理
异常和异常类型 ClassNotFoundException IOException ArithmeticException Exception AWTException NullPointerException RuntimeException IndexOutOfBoundsExceptior Object Throwable Several more classes Several more classes LinkageError VirtualMachineError Error AWTError Several more classes ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 异常和异常类型 LinkageError Error AWTError AWTException Throwable ClassNotFoundException VirtualMachineError IOException Exception RuntimeException Object ArithmeticException NullPointerException IndexOutOfBoundsException Several more classes Several more classes Several more classes
异常的分类 任何异常对象总是Throwable类的实例 两个分支:Errori和Exception ©2006计算机系杨群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 异常的分类 任何异常对象总是Throwable类的实例 两个分支:Error和Exception
异常的分类(cont.) Eror类描述内部错误以及资源耗尽的情况,应用程 序不应该抛出此类型的对象 Exception类的两个分支:RuntimeException的子类, 以及不从它衍生的其他异常 从RuntimeException衍生出来的异常包括: ·错误的类型转换 ·数组越界访问 ·试图访问一个空指针 不是从RuntimeException衍生出来的异常包括: ·试图从文件尾后面读取数据 ·试图打开一个错误格式的UL ·试图构造一个不存在的类 ©2006计算机系杨厚群 All rights lefts reserved
©2006 计算机系 杨厚群 All rights & lefts reserved. 异常的分类(cont.) Error类描述内部错误以及资源耗尽的情况,应用程 序不应该抛出此类型的对象 Exception类的两个分支:RuntimeException的子类, 以及不从它衍生的其他异常 从RuntimeException衍生出来的异常包括: • 错误的类型转换 • 数组越界访问 • 试图访问一个空指针 不是从RuntimeException衍生出来的异常包括: • 试图从文件尾后面读取数据 • 试图打开一个错误格式的URL • 试图构造一个不存在的类