Java异常处理基础 当程序检测到出现了一个错误时会抛出一个异常对 象。异常处理代码会捕获并处理这个错误 >把可能会发生错误的代码放进txy语句块中 Catch语句块中的代码用于处理错误 不管是否有异常发生,£ina11y语句块中的语句始终保 证被执行。 关键字 throws用于生成一个可被系统捕获的异常 对象 修改 melon. java程序以实现异常捕获 021/224 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 6 Java异常处理基础 ► 当程序检测到出现了一个错误时会抛出一个异常对 象。异常处理代码会捕获并处理这个错误。 ► 把可能会发生错误的代码放进try语句块中。 ▪ Catch语句块中的代码用于处理错误。 ▪ 不管是否有异常发生,finally语句块中的语句始终保 证被执行。 ► 关键字throws用于生成一个可被系统捕获的异常 对象 修改melon.java程序以实现异常捕获
抛出异常 Throw语句可以抛出一个继承自 Throwab1e 类的对象 Throwab1e类有两个直接子类: 类 Exception:出现的问题是可以被捕获的; 类 FError:严重错误,无法被捕获 当异常发生时,程序控制流程由try语句块 跳转到 catch语句块 021/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 7 抛出异常 ►Throw语句可以抛出一个继承自Throwable 类的对象 ►Throwable类有两个直接子类: ▪ 类Exception:出现的问题是可以被捕获的; ▪ 类Error:严重错误,无法被捕获。 ►当异常发生时,程序控制流程由try语句块 跳转到catch语句块
捕获一个异常 >使用 catch语句,只能捕获 Exception类及 其子类的对象 ≯如果没有提供合适的出错处理代码,程序将 会结束 可以有多个 catch语句块,每个代码块捕获 种异常 021/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 8 捕获一个异常 ►使用 catch语句,只能捕获Exception类及 其子类的对象 ►如果没有提供合适的出错处理代码,程序将 会结束。 ►可以有多个catch语句块,每个代码块捕获 一种异常
关于异常捕获(一) 认为在异常处理后控制将返回 throw后的第 条语句会导致错误; ≯指定由逗号分开的 catch参数表是语法错误, catch只能有一个参数 个捕获 Exception对象的 catch语句块可以捕 获所有异常; 个相同类型的异常是语法错ch块捕获两 >在某个try块后有两个不同的c 021/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 9 关于异常捕获(一) ►认为在异常处理后控制将返回throw后的第一 条语句会导致错误; ►指定由逗号分开的catch参数表是语法错误, catch只能有一个参数; ►一个捕获Exception对象的catch语句块可以捕 获所有异常; ►在某个try块后有两个不同的catch 块捕获两 个相同类型的异常是语法错误;
关于异常捕获(二) >将 catch( Exception e放在别的 catch块前面会 使这些 catch块都不执行,因此JaVa不会编译 这个程序 021/224 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 10 关于异常捕获(二) ►将catch(Exception e)放在别的catch块前面会 使这些catch块都不执行,因此Java不会编译 这个程序