- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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:类定义
您可能关注的文档
- Internet简明教程(第四版 作者 第04章 使用搜索引擎查询信息.ppt
- Internet简明教程(第四版 作者 第05章 电子邮件收发与管理.ppt
- Internet简明教程(第四版 作者 第10章 Internet的网络共享解决方案.ppt
- Internet简明教程(第五版) 作者 978-7-302-17512-4 01.ppt
- Internet简明教程(第五版) 作者 978-7-302-17512-4 03.ppt
- Internet简明教程(第五版) 作者 978-7-302-17512-4 06.ppt
- Internet简明教程(第五版) 作者 978-7-302-17512-4 07.ppt
- Internet简明教程(第五版) 作者 978-7-302-17512-4 08.ppt
- Internet简明教程(第五版) 作者 978-7-302-17512-4 09.ppt
- Internet宽带共享与网络服务器搭建PowerPoint课件 作者 第01章 Internet基础知识.ppt
- Java程序设计教程 作者 曾令明 7-11 第7章.ppt
- Java程序设计教程 作者 曾令明 7-11 第8章.ppt
- Java程序设计教程 作者 曾令明 7-11 第10章.ppt
- Java程序设计教程 作者 曾令明 7-11 第11章.ppt
- JAVA程序设计教程 作者 赵莉 第1-6章 第2章.ppt
- JAVA程序设计教程 作者 赵莉 第1-6章 第3章.ppt
- JAVA程序设计教程 作者 赵莉 第1-6章 第4章.ppt
- JAVA程序设计教程 作者 赵莉 第1-6章 第5章.ppt
- JAVA程序设计教程 作者 赵莉 第1-6章 第6章.ppt
- JAVA程序设计教程 作者 赵莉 第7-11章 第10章.ppt
文档评论(0)