- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 异常处理 5.1 异常 异常(Exception)又称为例外、差错、违例等,是特殊的运行错误对象,对应着Java 语言特定的运行错误处理机制。 5.1.1 异常和JAVA异常 5.1.2 常用JAVA异常类列表 5.1 异常 Java的检查型异常 5.2 异常的处理方法 Java中的异常处理机制可以概括为以下几个过程: 在Java程序的执行过程中,如果出现了一个可识别的错误,则会生成一个与该错误相对应的异常类的对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出异常。 当Java运行时系统接收到异常对象后,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕捉(catch)异常。 如果Java运行时系统找不到处理异常的程序,那么它将终止程序的执行,最后调用缺省异常处理程序来处理异常。 5.2 异常的处理方法 5.2.1 try-catch语句 在try子句中,用一对大括号{}指定了一段需要被保护的代码,这段代码被称为try块,try块在执行过程中可能会抛出一个或多个类型的异常,该块也指定了它后面的catch子句能够处理的异常范围。 catch子句的参数类似于方法形参的声明,包括一个异常类型和一个异常对象。异常类型必须是Throwable或其子类,一般来说,它应该是Exception或其子类,它指明catch子句能够处理的异常类型。在catch子句中,用一对大括号{}指定了一段代码,这段代码被称为catch块,catch块指出如何处理异常,通常会调用对象的方法。 catch子句允许有多个,分别处理不同类型的异常。Java运行时系统从上到下依次对每个catch子句处理的异常类型进行检测,直到找到类型相匹配的catch子句为止。这里,类型匹配是指catch所处理的异常类型与生成的异常对象的类型完全一致或是它的父类。因此,每个catch子句应该根据异常类型从特殊到一般排列。 5.2 异常的处理方法 5.2.2 try-catch-finally语句 在捕获异常时,还可以使用finally子句。在try-catch之后紧接上finally子句,表示无论有无异常发生,最后都必须执行finally块中的语句。 当try块在执行过程中抛出一个异常时,其后续代码将不会被执行。通过finally子句可以指定一个代码块,无论try块抛出或不抛出异常,也无论catch子句的异常类型是否与所抛出的异常类型一致,finally块都被执行,它提供了统一的出口。 finally子句是可选的,需要注意的是try子句后至少应该有一个catch子句或finally子句。在finally子句中,通常可以进行资源的清除工作,如关闭打开的文件等。 5.2 异常的处理方法 5.2.3抛出异常 抛出异常是指,当java程序在执行过程中检测到一个可识别的错误,就会产生一个与该错误相对应的异常类的对象,该对象包含了异常的类型和错误出现时程序所处的状态信息,并将它提交给Java运行时系统的过程。在java中抛出异常有2种方法,一种是系统自动抛出异常,还有一种是用throw语句指定在程序中抛出异常。 5.2 异常的处理方法 5.2.4 系统自动抛出的异常 所有的系统异常都可以由系统自动抛出,但用户自定义的异常不能由系统自动抛出。 5.2 异常的处理方法 5.2.5 throw语句抛出的异常 在Java中可以使用throw语句指定在程序中抛出某种类型的异常。throw语句的一般格式如下: throw throwable或其子类对象; 如果程序企图抛出一个不是throwable或其子类的对象,程序将无法通过编译。当然在一般情况下,程序中抛出的应该是Exception或其子类的对象。 使用throw语句抛出异常时应注意以下几个问题: 一般这种抛出异常的语句应该被定义为在满足一定条件时执行,例如把throw语句放在if语句的if分支中,只有当if条件得到满足,即用户定义的逻辑错误发生时才执行。 catch后的参数类型(T1)必须和throw后的表达式类型(T2)一致。即或者T1和T2一样,或者T1是T2的父类。 含有throw语句的方法,应该在方法头定义中增加如下部分: throws 异常类名列表 5.3 定义异常类 系统定义的异常用来处理系统可以识别的较常见的运行错误,对于某个应用所特有的运行错误,则需要编程人员根据程序的特殊逻辑在用户程序中自己创建用户自定义的异常类和异常对象。这种用户自定义异常主要用来处理用户程序中特定的逻辑运行错误。 * * * * * * * *
您可能关注的文档
- Java程序设计案例教程崔曙光李春奇Java程序设计案例教程第二章节幻灯片.ppt
- Photoshop平面设计基础与应用侯蕾左花苹程传鹏第16讲综合实例幻灯片.ppt
- chapt5化工设备材料幻灯片.ppt
- Java程序设计案例教程崔曙光李春奇Java程序设计案例教程第九章节幻灯片.ppt
- chapt7中国进出口贸易幻灯片.ppt
- chapt9中国服务贸易幻灯片.ppt
- chapt-00绪言幻灯片.ppt
- Java程序设计案例教程崔曙光李春奇Java程序设计案例教程第三章节幻灯片.ppt
- chapt-03土壤分类幻灯片.ppt
- Chapt-4线性代数方程组的数值解法幻灯片.ppt
- C_C程序设计李云峰C语言课程导学幻灯片.ppt
- K3BOS解决方案幻灯片.ppt
- C_C程序设计李云峰第1章节C程序设计概述幻灯片.ppt
- Photoshop平面设计与创意案例教程陈昶Photoshop平面设计与创意案例教程第12章节图说平面设计案例幻灯片.ppt
- C_C程序设计李云峰第2章节数据类型与运算幻灯片.ppt
- Photoshop平面设计与创意案例教程教学课件作者陈昶Photoshop平面设计与创意案例教程第1章节PhotoshopCS5工作区域和基本操作课件幻灯片.ppt
- C_C程序设计李云峰第3章节结构化程序设计幻灯片.ppt
- C_C程序设计李云峰第4章节利用函数编程幻灯片.ppt
- K3WISE_V130成本管理解决方案幻灯片.ppt
- C_C程序设计李云峰第5章节利用数组编程幻灯片.ppt
最近下载
- 人教版二年级上册数学全册教学设计(配2025年秋新版教材).docx
- 2024-2025学年北京市东城区高三上学期期末统一检测语文试卷含详解.docx VIP
- 射血分数保留心衰(HFpEF)的临床诊治题库答案-2025年华医网继续教育.docx VIP
- 《景观设计概述》课件.ppt VIP
- 浙江宁波国际投资咨询有限公司招聘笔试题库2025.pdf
- 悬浮床渣油加氢工艺研究.docx VIP
- Unit 1 Letters in Our life(课件)教科版(2024)英语三年级上册.pptx VIP
- 2025云南电网有限责任公司社会招聘9人(第三批)笔试备考题库及答案解析.docx VIP
- 《电子政务协同办公系统电子文件应用与管理技术要求》.doc
- 2024年南京工业职业技术大学单招语文考试试题及答案解析.docx VIP
文档评论(0)