- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 Java异常处理 掌握Java异常的概念及工作机制 掌握异常的分类 掌握抛出异常语句的使用(throw) 掌握抛出捕获处理异常语句的使用(try…catch…finally) 掌握上抛异常语句的使用(throws) 掌握创建自定义异常 什么是异常 异常(Exception)实际上是导致程序不能按照正常流程执行的一种错误。比如除0溢出、数组越界、文件找不到等,这些事件的发生将阻止程序的正常运行。 在进行程序设计时,错误的产生是不可避免的,如何处理错误?把错误交给谁去处理?程序又该如何从错误中恢复?这是任何程序设计语言都要解决的问题。 为了加强程序的健壮性,程序设计时,必须考虑到可能发生的异常事件并做出相应的处理。 什么是异常 在Java中是通过异常类去表示异常的,产生异常就是产生一个异常对象。这个对象可能由应用程序本身产生,也可能由 Java 虚拟机产生。 Java异常类是一个庞大的继承树。所有异常类都是java.lang.Throwable及其子类。在 Java类库的每个包中都定义了自己的异常类,所有这些类都直接或间接地继承于类Throwable。 Java异常处理机制 Java采用了异常抛出和异常捕获处理机制。 抛出异常 当Java应用程序出现错误时,会产生一个异常对象,这个对象包含了异常的类型和错误出现时程序所处的状态信息。把异常对象递交给调用堆栈的过程称为抛出异常。 捕获异常 异常发生后,被传递给调用堆栈,程序沿着被调用的顺序往上寻找,寻找符合该异常种类的处理代码过程叫作捕获异常。(如果没有找到相应异常处理的方法,则运行时系统将终止程序的运行) 处理异常:异常处理代码的执行过程称之为处理异常。 有些时候方法本身并不想(或者不需要)处理它所产生的异常,而是向上传递由调用它的方法来处理这些异常,这时就要用到throws子句。 throws子句包含在方法的声明中,其格式为: public void findFile() throws IOException{ } * * 错误(Error):由Java虚拟机生成并抛出,包括动态链接失败、虚拟机错误等,表明程序遇到了非常严重的不正常状态,不能简单地恢复,通常Java程序不做处理。 非运行时Exception(编译时异常):一般程序中可预知的问题,其产生的异常可能会带来意想不到的结果,因此Java编译器要求Java程序必须捕获或声明所有的非运行时异常。 异常的分类 Runtime Exception(运行时异常) Java程序在运行过程中生成的异常,如被0除、数组下标超范围等,其产生比较频繁,处理麻烦,对程序可读性和运行效率影响太大。 因此Java编译器允许程序不对它进行处理,系统统将它们交给缺省的异常处理程序(当然,必要时,用户可对其处理)。 注:缺省的异常处理程序的处理方法:在标准输出设备上显示异常的内容以及发生异常的位置,然后停止程序。 异常的分类 Throwable Error Exception RuntimeException 缺省的异常 处理程序 由用户捕获或 声明并处理 不做处理 用户自己产生的异常 处理 异常的分类 常见的异常类 Error (all in java.lang) LinkageError ThreadDeath VirtualMachineError InternalError OutOfMemoryError StackOverflowError UnknownError AWTError (in java.awt) … Exception (in java.lang) ClassNotFoundException CloneNotSupportedException InterruptedException … RuntimeException ArithmeticException ClassCastException InllegalArgumentException InllegalThreadStateException NumberFormatException 常见的异常类 RuntimeException InllegalMonitorStateException InllegalStateException IndexOutOfBoundsException ArrayIndexOutObBoundsException StringIndexOutObBoundsException NegativeArraySizeException NullPointerException Security
文档评论(0)