第5章_异常处理.pptVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章_异常处理

第5章 异常处理 5.1 异常处理 对于计算机程序来说,出现错误和异常情况是不可避免的。因此,一门编程语言如果不提供良好的出错与异常处理机制将会是可怕的。 出错是指程序认为非法的情形,这常常是由于代码本身存在的问题而发生的。从理论上讲,这类问题是可以避免的。 异常情况是指一种非同寻常的错误,即这类错误是不可预测的,如内存不足,找不到所需的文件等。 错误和异常的出现的确令人烦恼,但重要的是出现这些问题后,该如何处理,这才是关键。 JAVA提供了丰富的出错与异常情况处理措施。作为一门完全面向对象的语言,它把这些都封装到了各种出错处理类中。 对错误的处理 程序执行的错误 处理错误 向用户通知错误 保存全部工作 让用户适当地退出程序 异常处理 JAVA检测和报告错误的机制 通常有两种异常处理方式 一种是传统的非面向对象的语言,如C、Pascal、Fortran所采用的方法,即完全由编程人员自己去处理。很显然,工作量是非常大的,对编程人员的要求也非常高,各种出错与异常处理方法因人而异,无统一标准。例 C语言中,通过使用if语句来判断是否出现了异常并进行处理。 main(){ int a,b,c; scanf(“%d%d”,a,b); if(b!=0) c=a/b; else printf(“除数不能为0”); } 第二种方式则是面向对象编程语言中所采用的方式,即所谓catch-throw(捕捉—抛出)方式,运行时系统的应用程序抛出各种标准类型的错误,程序捕获这些错误,并进行相应处理。这样,异常情况处理变得标准化。JAVA就是采用这种方法来处理的。 5.1.1 异常处理机制 1、Java的异常处理机制 Java中定义了很多异常类,每个异常类都代表了一种运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。每当Java程序运行过程中发生一个可识别的运行错误时,即该错误有一个异常类与之相对应时,系统都会产生一个相应的该异常类的对象,即产生一个异常。一旦一个异常对象产生了,系统中就一定有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性。 2、异常类对象 当方法执行过程中出现错误而干扰了程序流程时,会抛出一个异常,即构造出一个异常类的对象,该对象封装了异常的有关信息。 3、异常分类 系统定义异常 用户自定义异常 4、异常抛出方式: 自动抛出(系统定义异常) 用throw语句抛出(用户定义异常) 5、方法中的异常处理: 捕获异常,就地解决,并使程序继续执行 。 将异常向外转移,即将异常抛出方法之外,由调用该方法的环境去处理。 5.1.2 Java中异常层次结构 2、异常类 Exception类定义的是较轻的错误,你可以编写代码来处理这类错误,并继续程序的执行。 Exception原因: 打开的文件不存在。 网络连接中断。 操作数超过允许范围。 想要加载的类文件不存在。 试图通过空的引用型变量访问对象。 数组下标越界。 Error类定义的错误是致命性错误,一般会导致程序停止执行。 2、异常类 构造方法 Exception() Exception(String 异常描述) Exception类的方法均继承自Throwable类 方法 String getMessage() 返回异常描述。 String toString() 返回异常对象详细信息。 void printStackTrace() 打印异常发生的路径,即引起异常的方法调用嵌套序列。 3、常见的运行异常 1)java.lang.ArithmeticException 产生了算术异常,如以0作除数 2)java.lang.ArrayIndexOutOfBoundsException 数组下标越界 3)java.lang.StringIndexOutOfBoundsException 字符串下标越界 4)java.lang.ClassCastException 类型转换错误 5)java.lang.NegativeArraySizeException 应用程序试图创建一个长度为负数的数组 4、常见的检查型异常: 1) 包java.lang中声明的标准检查型异常 (1) ClassNotFoundException 指定名字的类或接口未找到。 (2) CloneNotSupportedException(不支持克隆异常) 当某对象调用了Object类中的方法clone,而该对象未实现接口Cloneable。 (3) IllegalAccessException

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档