程序设计导论 第十一讲 异常处理.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的异常层次结构及异常分类 掌握基本的异常处理编程 异常 异常(Exception)又称例外---是在程序运行过程中发生的、会打断程序正常执行的事件。 例如:除0 (ArithmeticException)、没有给对象开辟内存空间时会出现空指针异常(NullPointException)、文件找不到(FileNotFoundException)、数组元素下标越界(ArrayIndexOutOfBoundsException)等。这些事件的发生将阻碍程序的正常运行。为了增加程序的容错性、健壮性,程序设计时,必须考虑到可能发生的异常情况并做出相应的处理。 设计程序时必须考虑可能发生的异常事件并作出相应的处理。传统程序设计时,要由编程者自己测试出错发生的原因,通过if语句判断是否出现了异常事件,并进行相应的处理。 异常 传统异常处理存在的困难和问题 写程序难 大部分精力花在出错处理上了 只把能够想到的错误考虑到 对以外的情况无法处理 程序可读性差 大量的错误处理代码混杂在程序中 出错返回的信息量太少 无法更确切的了解错误状况或原因 异常层次结构及分类 异常类的结构 Error与Exception Throwable以下的异常都可以被捕获 所有Error类及其子类代表java运行时系统中可能发生的异常情况,是致命的,即程序遇到了非常严重的不正常状态,不能简单恢复执行,这就是错误。如:内存耗尽、系统内部错误等,通常我们(应用程序)不应捕获这些异常。 所有Exception类及其子类代表java程序中可能发生的异常情况,是非致命的,通过某种修正后程序还能继续执行。这类错误叫作异常。如:文件不存在、无效的下标、空引用、网络断开、打印机脱机、磁盘满了等,通常我们(应用程序)可以捕获这些异常。 Exception分类 Exception是要重点掌握的,它也分为两类: (1)受控异常(检查异常):java编译器对受控异常强制执行捕获或者声明 Exception分类 (2)不受控异常(非检查异常):java编译器不会检查代码以确定是捕获或者声明不受控异常。尽管编译器对不受控异常没有捕获或者声明的强制要求,但在知道可能发生这种异常时应提供合适的异常处理代码。 不受控异常 异常处理 try-catch结构 try{ //可能产生异常的代码 } catch(someException e){ //处理异常的代码 } catch(someException e){ //处理异常的代码 } 异常处理 try-catch-finally结构 try{ //可能产生异常的代码 }catch(someException e){ //处理异常的代码 } finally{ //必须执行的代码 } 异常处理 try-finally结构 try{ //可能产生异常的代码 }finally{ //必须执行的代码 } 异常处理 注意: catch和finally必须至少有一个跟在try 后面 如果不发生异常,则catch块中的代码不会被执行 不论是否发生异常finally块中的代码一定会被执行 throws与throw 1.throws 用于抛出方法层次的异常,并且直接由这些方法调用异常处理类来处理该异常,所以它常用在方法的后面。比如 public static void main(String[] args) throws IOException 2.throw 用于方法块里面的代码,比throws的层次要低,表示它抛出异常, 但它不会处理它,而是由方法块的throws Exception来调用异常处理类来处理。 * * Object Error Exception Throwable RuntimeException 受控异常 Exception ClassNotFoundException AWTException IOException NoSuchMethodException IndexOutOfBoundsException NullPointerException NoSuchElementException illegalArgumentException ArithmeticException RuntimeException ArrayIndexOutOfBoundsException StringIndexOutOfBoundsException NumberFormatException 自定义异常 用户为什么要自定义异常? Java类库中定义的异常主要用来处理编程中一些常见的运行错误,这些错误是系统可以

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档