Java程序设计教程 作者 曾令明 1-6 第6章.pptVIP

Java程序设计教程 作者 曾令明 1-6 第6章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 异 常 处 理 6.1 异?常?的?概?念 6.1.1 错误与异常   Java异常是描述在代码段中发生的运行出错情况的对象。程序中的错误可能来自于编译错误或运行错误。编译错误是由于所编写的程序存在语法问题,未能通过由源代码到目标代码的编译过程而产生的错误,它将由语言的编译系统负责检测和报告;运行错误是在程序的运行过程中产生的错误。   在程序执行中,任何中断正常程序流程的异常条件就是错误或异常。例如,发生下列情况时会出现异常:想打开的文件不存在、网络连接中断、受控操作数超出预定范围、正在装载的类文件丢失(可能是文件名没有区分大小写),等等。   那么Java异常的发生是由哪些因素引起的呢?可以归结为以下几点:   (1) Java虚拟机检测到了非正常的执行状态。这些状态可能是由以下情况引起的:   ·表达式的计算违反了Java语言的语义,如整数被0除。   ·在载入或链接Java程序时出错。   ·超出了某些资源限制,如使用了太多的内存。   (2) ?Java程序代码中的throw语句被执行。   (3) 异步异常发生。异步异常的原因可能有:   ·Thread的stop方法被调用。   ·Java虚拟机内部错误发生。   Java中,所有的异常都由类来表示。所有的异常类都是从一个名为Throwable的类派生出来的。因此,当程序中发生一个异常时,就会生成一个异常类的某种类型的对象。Throwable有两个直接子类:Exception和Error。   与Error类型的异常相关的错误发生在Java虚拟机中,而不是在程序中。Error类定义了被认为是不能恢复的严重错误条件。在大多数情况下,当遇到这样的错误时,建议让该程序中断。这样的异常超出了程序可控制范围,因此不作为本章学习的主要内容。   由程序运行所导致的错误由Exception类来表示。Exception类定义了程序中可能遇到的轻微的错误条件。可以编写代码来处理异常并继续程序执行,而不是让程序中断。Exception类代表轻微故障或可以恢复的故障。接收到异常信号后,调用方法捕获抛出的异常,在可能时,再恢复回来,这样就可以通过处理程序来处理异常。 6.1.2 异常分类   在异常发生后,系统会产生一个异常事件。Java中的异常类具有层次组织,如图6-1所示。其中Throwable类是Error类和Exception类的父类,Throwable是Object的直接子类。   java.lang.Exception类继承于java.lang.Object中的java.lang.Throwable类,可分为执行异常(Runtime Exception)和检查异常(Checked Exceptions)两种。 图6-1 异常类的层次结构   1.执行异常   执行异常即运行时异常,继承于RuntimeException。Java编译器允许程序不对它们做出处理。下面列出了主要的执行异常。   ArithmeticException:一个不寻常算术运算产生的异常。   ArrayStoreException:存入数组的内容数据类型不一致所产生的异常。   ArrayIndexOutOfBoundsException:数组索引超出范围所产生的异常。   ClassCastExcption:类对象强迫转换造成不当类对象所产生的异常。   IllegaArgumentException:程序调用时,返回错误自变量的数据类型。   IllegaThreadStateException:线程在不合理状态下运行所产生的异常。   NumberFormatException:字符串转换数值所产生的异常。   IllegaMonitorStateException:线程等候或通知对象时所产生的异常。   IndexOutOfBoundsException:索引超出范围所产生的异常。   NegativeException:数组建立负值索引所产生的异常。   NullPointerException:对象引用参考值为null所产生的异常。   SecurityException:违反安全所产生的异常。   2.检查异常   除了执行异常外,其余的子类属于检查异常,也称为非运行时异常,它们都在java.lang类库内定义。Java编译器要求程序必须捕获或者声明抛出这种异常。下面列出了主要的检查异常。   ClassNotFoundException:找不到类或接口所产生的异常。   CloneNotSupportedException:使用对象的clone方法但无法执行Cloneable所产生的异常。   IllegaAccessException:类定义

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档