北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第八讲 异常处理

第八讲 异常处理 北京理工大学计算机系金旭亮
异常处理 第八讲 北京理工大学计算机系 金旭亮

关于异常 异常( EXception):发生于程序执行期间,表 明出现了一个非法的运行状况 例如:数组越界 021/224 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 2 关于异常 ▪ 异常 (Exception):发生于程序执行期间,表 明出现了一个非法的运行状况。 例如:数组越界

观看Jaa异常示例 >melon. java >异常处理的目的是提供不同的错误处理技术, 使程序更稳定,更安全 ≯异常处理的主要用途是提供准确的错误消息, 解释失败的原因、位置和错误类型等,同时 提供一定的恢复能力,尽可能地降低出错的 机率 021/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 3 观看Java异常示例 ►melon.java ►异常处理的目的是提供不同的错误处理技术, 使程序更稳定,更安全; ►异常处理的主要用途是提供准确的错误消息, 解释失败的原因、位置和错误类型等,同时 提供一定的恢复能力,尽可能地降低出错的 机率

在程序中使用异常处理技术 没有任何异常处理代码:仅适用于编写不重 要的程序,如讲课中的示例 当异常发生时,结束应用程序。这是很不好 的一种方法,因为程序占用的瓷源可能没有 归还系统; 当导常发生时,捕获它,并根据情况进行处 理,可能会结束程序,可能会提示重试操作, 可能会忽略异常并继续运行。 021/2/24 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 4 在程序中使用异常处理技术 ►没有任何异常处理代码:仅适用于编写不重 要的程序,如讲课中的示例。 ►当异常发生时,结束应用程序。这是很不好 的一种方法,因为程序占用的资源可能没有 归还系统; ►当导常发生时,捕获它,并根据情况进行处 理,可能会结束程序,可能会提示重试操作, 可能会忽略异常并继续运行

try语句块 try i 可能发生运行错误的代码; catch(异常类型异常对象引用) 用于处理是常的代码 finally 所有的异常都派生自 Exception类。 021/224 北京理工大学计算机系(共28页)
2021/2/24 北京理工大学计算机系(共28页) 5 try 语句块 try { 可能发生运行错误的代码; } catch ( 异常类型 异常对象引用 ) { 用于处理异常的代码 } finally { } 所有的异常都派生自Exception类

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不会编译 这个程序
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第五讲 创建与使用类.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第七讲 接口与数据结构.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)Java开发Application.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第二讲 Java应用程序与Applet.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第三讲 Java语法基础.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第一讲 Java导论与Java开发环境(主讲:金旭亮).ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(学生作业)面向对象文档.doc
- 湖南农业大学:《计算机组成原理教案》第一章 计算机系统概论(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第五章 中央处理器(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第三章 存储系统(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第七章 显示器(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第六章 总线的基本概念(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第二章 数据格式(蒋邵平).ppt
- 重庆邮电大学:《C语言程序设计》课程授课计划二.doc
- 重庆邮电大学:《C语言程序设计》课程授课计划一.doc
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第9讲 存储类型 宏定义 数组.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第8讲 模块化程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第7讲 综合程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第6讲 循环和综合程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第5讲 多分支和循环.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第六讲 继承与多态.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第四讲 方法.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)Java考试指导.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第九讲 范型程序设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十一讲 反射与序列化.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十三讲 图形程序设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十二讲 多线程.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十五讲 面向对象理论小结.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十四讲 事件处理模型与GUI图形界面设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十讲 文件与流操作.ppt
- 《网络教程习题》1-14操作题.doc
- 《网络教程习题》15-30操作题.doc
- 《网络教程习题》31-43操作题.doc
- 《网络教程习题》44-53操作题.doc
- 《网络教程习题》54-68操作题.doc
- 《网络教程习题》69-72操作题.doc
- 《网络教程习题》73-79操作题.doc
- 《网络教程习题》80-81操作题.doc
- 《vb教学课程》第七章 数组.ppt
- 《vb教学课程》第六章 过程.ppt