《Java程序设计5》.pptVIP

  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文档。上传文档
查看更多
《Java程序设计5》

第五讲 异常处理 异常处理 Java异常的概念 Java异常的分类 异常的抛出、捕获和处理过程 异常处理应该注意的事项 异常的概念 异常是指程序运行过程中出现的非正常事件,该事件会导致正常运行的中断。 异常可分为两大类:编译时异常和运行时异常;编译时异常一般是指语法错误,可以通过编译器的提示加以修正。运行时异常通常包括运行错误(如数组下标越界、除数为0)、逻辑错误(年龄超过200岁等)。 良好的程序应该提供异常发生时,处理这些异常的方法,防止程序因为异常而产生程序的中断或者不可预知的结果。 产生异常后的反应 当异常发生时,程序一般会做出如下反应: 发生异常的部分产生系统定义的错误信息; 程序意外终止,并将控制权返回操作系统; 程序中所有分配资源的转台保持不变,这样会导致内存泄漏。 针对这种情况,我们必须对有可能产生的异常进行处理。 Java异常处理机制 Java异常处理机制,引进了用来描述和处理异常的类。每个异常类反映了一类运行错误,类定义了包含了该类异常的信息和对异常进行处理的方法。 抛出 异常的处理 捕获 处理 异常发生时,系统将生成对应的异常类的对象,并被提交给java运行时系统,这个过程称为异常抛出(throw)。 当Java运行时系统收到异常对象时,会寻找能处理当前异常的代码并传递当前异常对象,这个过程称为异常捕获。 异常捕获后,当前的代码可对异常进行相应处理,称为异常处理。 程序运行时出现错误 创建异常对象 抛出异常对象 接收并处理 java异常的体系结构 Throwable类中定义了与异常处理相关的一些方法,而其子类一般没有定义新的方法。 常用方法有: getMessage(): 获得详细的异常信息 toString(): 获得异常的简短描述 printStackTrace(): 打印异常发生处堆栈跟踪信息,包括类名、方法名以及所在程序行数 Throwable类 Throwable类 Throwable类派生两个子类:Exception类和 Error类。 Error类描述内部错误,由Java虚拟机生成并抛出,程序不能抛出这种类型的对象,Error类的对象不可捕获、不可恢复,出错时系统通知用户并终止程序,如内存溢出错、动态链接错等。 Exception类:由Java程序抛出和处理的对象,它的各种不同的子类分别对应不同类型的异常,是所有异常类的父类。 运行时异常 运行异常是指Java程序在运行时发现的由Java运行系统引发的各种异常,其出现频率很高,检测运行异常的开销很大,所以编译器不要求捕获或声明运行异常。 常见的运行异常如下所示:ArithmeticException:算术运算中除数为零,而产生的异常。 ArrayIndexOutOfBoundsException:访问数组下标超界异常。 ArrayStoreException:进行写数组操作时,对象或数据类型不兼容,导致该异常。 ClassCastException:对象转换不兼容异常。 IllegalArgumentException:在方法的参数表中,如果参数无效,将产生异常。 IllegalThreadStateException:非法改变线程状态,如启动已执行线程,导致异常。 NegativeArraySizeException:当数组的长度是负数时,产生异常 NullPointerException: 试图访问空对象的变量、方法或空数组的元素,产生的异常。 SecurityException:Applet试图执行被WWW浏览器安全设置所禁止的操作,产生异常。 IncompatibleClassChangeException:当类的定义被改变,而引用该类的其它类没有被重新编译,则产生该异常 。 OutOfMemoryException:表示“内存不足”异常。 NoClassDefException:Java执行时找不到所引用的类,产生该异常。 IncompatibleTypeException:试图实例化一个接口,产生该异常。 UnsatisfiedLinkException:所调用的方法是本地方法,但执行时无法连接这个函数,将产生该异常。 InternalException:是系统内部故障所导致的异常。 非运行异常 非运行异常能在编译时检测到,可通过throws语句抛出。 Java在其标准包java.lang、java.util、java.io、中定义的异常类

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档