6.2异常类结构与组成 Exception类有若干子类, Exception 每一个子类代表了一种特定的 运行时错误。这些子类是系统 事先定义好并包含在Java类库 中的,称为系统定义的运行异 IOException Runtime Exception 常。 由于定义了相应的异常, Java程序即使产生一些错误, 如引用空对象等,系统也会自 动产生一个对应的异常对象来 处理和控制这个错误,避免其 蔓延或产生更大的问题
Exception类有若干子类, 每一个子类代表了一种特定的 运行时错误。这些子类是系统 事先定义好并包含在Java类库 中的,称为系统定义的运行异 常。 由于定义了相应的异常, Java程序即使产生一些错误, 如引用空对象等,系统也会自 动产生一个对应的异常对象来 处理和控制这个错误,避免其 蔓延或产生更大的问题。 6.2 异常类结构与组成
6.2异常类结构与组成 系统定义的运行异常 异常对应的系统运行错误 ClassNotFoundException 未找到欲装载使用的类 ArraylndexOutOfBounds Exception 数组越界使用 FileNotFoundException 未找到指定的文件或目录 IOException 输入、输出错误 NullPointerException 引用空的尚无内存空间的对象 ArithmeticException 算术错误,如除数为0 InterruptedException 线程在睡眠、等待或因其他原因暂 停时被其他线程打断 UnknownHostException 无法确定主机的P地址 MalformedURLException URL格式错误
系统定义的运行异常 异常对应的系统运行错误 ClassNotFoundException 未找到欲装载使用的类 ArrayIndexOutOfBoundsException 数组越界使用 FileNotFoundException 未找到指定的文件或目录 IOException 输入、输出错误 NullPointerException 引用空的尚无内存空间的对象 ArithmeticException 算术错误,如除数为0 InterruptedException 线程在睡眠、等待或因其他原因暂 停时被其他线程打断 UnknownHostException 无法确定主机的IP地址 MalformedURLException URL格式错误 6.2 异常类结构与组成
6.3异常处理机制 人们在遇到错误时会感觉不好。如果一个用 户在运行程序期间,由于程序的错误或一些外部 环境的影响造成用户数据的丢失,用户就有可能 不再使用这个程序了。 为了避免这类事情的发生,程序至少应该做 到以下几点: ■向用户通告错误; ■保存所有的操作结果: ■允许用户以适当的形式退出
人们在遇到错误时会感觉不好。如果一个用 户在运行程序期间,由于程序的错误或一些外部 环境的影响造成用户数据的丢失,用户就有可能 不再使用这个程序了。 为了避免这类事情的发生,程序至少应该做 到以下几点: ◼ 向用户通告错误; ◼ 保存所有的操作结果; ◼ 允许用户以适当的形式退出。 6.3 异常处理机制
6.3异常处理机制 每当Java程序运行过程中发生一个可识别 的运行错误时,即该错误有一个异常类与之相 对应时,系统都会产生一个相应的该异常类的 对象,即产生一个异常。 一旦一个异常对象产生了,系统中就一定 有相应的机制来处理它,确保不会产生死机或 对操作系统的损害,从而保证了整个程序运行 的安全性。这就是Java的异常处理机制。 程序中预先想好了 对付异常的处理办法 程序运行 异常! 对异常进行处理 处理完毕,程序继续运行
程序中预先想好了 对付异常的处理办法 程序运行 异常! 对异常进行处理 处理完毕,程序继续运行 6.3 异常处理机制 每当Java程序运行过程中发生一个可识别 的运行错误时,即该错误有一个异常类与之相 对应时,系统都会产生一个相应的该异常类的 对象,即产生一个异常。 一旦一个异常对象产生了,系统中就一定 有相应的机制来处理它,确保不会产生死机或 对操作系统的损害,从而保证了整个程序运行 的安全性。这就是Java的异常处理机制
6.3异常处理机制 Java的异常处理是通过5个关键字来实现的:try、 catch、 finally、throw、throws 捕获异常 抛出异常 声明异常 thro throw 执行可能产生 异常的代码 声明方法可能要 catch 捕获异常 手动抛出异常 抛出的各种异常 finally 无论是否发生异常, 代码总能执行
Java的异常处理是通过5个关键字来实现的:try、 catch、 finally、throw、throws 捕获异常 catch try finally 执行可能产生 异常的代码 捕获异常 无论是否发生异常, 代码总能执行 手动抛出异常 抛出异常 thro w 声明异常 声明方法可能要 抛出的各种异常 throw s 6.3 异常处理机制