- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 Java 的异常处理机制 6.1 异常的含义及分类 6.2 异常处理 6.3 两种抛出异常的方式 6.4 自定义异常 6.5 常见异常 6.1 异常的含义及分类 1.异常的含义 所谓异常就是程序运行时可能出现一些错误, 比如试图打开一个根本不存在的文件等 2.异常处理的必要性 传统错误处理的不足之处,主要表现为:(1)程序复杂;(2)可靠性差;(3)返回信息有限;(4) 返回代码标准化困难。 Java语言采用错误代码和异常处理相结合的方式可以把错误代码与常规代码分开,也可以在catch中传播错误信息,还可以对错误类型分组。 6.1 异常的含义及分类 3.异常的分类 在java语言中,异常是一个对象,它继承于Throwable类,所有的Throwable类的子孙类所产生的对象都是例外(异常)。从Throwable直接派生出的异常类有 Exception 和 Error,如图6-1所示。 6.1 异常的含义及分类 Exception 是代表了真正实际意义上的异常对象的根基类。Exception 和从它派生而来的所有异常都是应用程序能够捕获到的,并且可以进行异常错误恢复处理的异常类型。 Error 则表示 出现了一个非常严重的异常错误,并且这个错误可能是应用程序所不能恢复的,例如 LinkageError ,或 ThreadDeath 等。由Java虚拟机生成并抛出,Java程序不做处理。 java.long.Error和java.lang.RuntimeException的子类免于编译时的检查。RuntimeException异常由系统检测,用户的Java 程序可不做处理,系统将它们交给缺省的异常处理程序。 6.2 异常处理 6.2.1 异常处理的基本结构 6.2.2 多个catch 块 6.2.3 finally语句 6.2.1 异常处理的基本结构 1.异常处理的定义 异常处理是用户程序以预定的方式响应运行错误和异常的能力。它的基本方式是:当一个方法引发一个异常后,可将异常抛出,由该方法的直接或者间接调用者处理异常。 2.异常处理语句 异常处理语句有try、catch、finally、throw和throws。在以下部分将逐一介绍这些语句的作用。 6.2.1 异常处理的基本结构 3.异常处理的基本结构 try ~catch结构是异常处理的基本结构。这种结构中可能引发异常的语句封入在try块中,而处理异常的相应语句封入在catch块中。结构的格式如下: try{ 程序执行体 } catch(异常类型1 异常对象1){ 异常处理程序体1 } 6.2.1 异常处理的基本结构 3.异常处理的基本结构 catch(异常类型2 异常对象2){ 异常处理程序体2 } …… catch(异常类型n 异常对象n){ 异常处理程序体n } finally { 异常处理结束前的执行程序体 //不论发生什么异常(或者不发生任何异常),都要执行的部分; } 6.2.1 异常处理的基本结构 说明: (1)try语句指明可能产生异常的代码段; (2)catch语句在try语句之后,用于捕捉异常,一个try语句可以有多个catch语句与之匹配。当有多个catch语句时,系统依照先后顺序逐个检查 。用catch语句捕捉异常时,若找不到相匹配的catch语句,将执行缺省的异常处理。 (3)将catch程序块的参数不能设置成多个,一个catch只有一个参数. 6.2.1 异常处理的基本结构 说明: (4)若两个catch程序块(均和某个try程序块有关)都用于捕捉同一类型异常,那么将产生语法错误。 (5) 若某一类型异常,可能有几个异常处理程序与他相匹配,那么执行first相匹配的异常处理程序 (6)java中可以使用嵌套的try~catch结构。在使用嵌套的try块时,将先执行内部try块,如果没有遇到匹配的catch块 则将检查外部try块的catch块。 6.2.1 异常处理的基本结构 throw语句 用于指出当前现有异常,当程序执行到throw语句时,流程就转到相匹配的异常处理语句,所在的方法也不再返回值。throw语句可以将异常对象提交给调用者,以进行再次处理。 throws语句 指明方法中可能要产生的异常类型,由调用者进行异常处理。 6.2.1 异常处理的基本结构 【实例6-1】 public class DividerByZero { public static void main(String args[]) { double num=1; try { num=1/0; } catch (ArithmeticException e) {
您可能关注的文档
- Internet简明教程(第五版) 教学课件 ppt 作者 978-7-302-17512-401.ppt
- Internet简明教程(第五版) 教学课件 ppt 作者 978-7-302-17512-407.ppt
- 房地产营销 教学课件 ppt 作者 朱华 第3章.ppt
- Internet宽带共享与网络服务器搭建PowerPoint课件 教学课件 ppt 作者第12章 漏洞检测与安全管理.ppt
- Java 2简明教程(第2版) 教学课件 ppt 作者Java2-0.ppt
- Java 2简明教程(第2版) 教学课件 ppt 作者Java2-1.ppt
- 房地产营销 教学课件 ppt 作者 朱华 第4章.ppt
- Java 2简明教程(第2版) 教学课件 ppt 作者Java2-2.ppt
- Java 2简明教程(第2版) 教学课件 ppt 作者Java2-3.ppt
- Java 2简明教程(第2版) 教学课件 ppt 作者Java2-4.ppt
文档评论(0)