清华面向对象程序设计:第06章.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文档。上传文档
查看更多
清华面向对象程序设计:第06章

第6章 异常处理 6.1 异常概述 为了保证程序的正确执行,准确地检测到程序运 行过程中可能出现的各种异常,并进行有效地控制 是十分关键的。 传统异常处理: 1.处理异常的代码量大 2.影响程序的可读性 3.缺乏异常处理的规范性 6.1.1 异常的概念 影响程序正常运行的主要原因来自两个方面: 一方面是运行程序的系统出现了异常。例如,系统 软、硬件发生的故障,资源短缺等;另一方面是程 序本身存在的问题。例如,语法错误、逻辑错误和 运行错误等。 在Java语言中,所说的异常是指那些影响程序 正常运行的错误,而并不包含导致程序运行结果不 正确的那些逻辑错误。 6.1.2 Java语言中的异常类 在Java语言中,对很多可能出现的异常进行了 标准化,并将它们封装成了各种各样的类,我们将 统称为异常类。一旦在程序运行过程中发生异常, Java虚拟机就会自动地创建一个相应的异常类对 象,并将该对象作为参数抛给处理异常的方法。在 这些异常类中,主要包含了有关异常的属性信息, 跟踪信息等。 JAVA异常类结构 Exception类 Exception类标识的异常通常是由应用程序本身 所致的,因此,一旦出现这些异常,应用程序需要 做出必要的反映。Exception中包含两个比较重要 的子类,一个是IOException类,它包含了有关输 入输出的异常;另外一个是RuntimeException,它 又包含了很多子类,这些子类分别标识了程序运行 期间可能出现的各种异常错误。 java.lang的RuntimeException类的异常子类 6.2 异常处理机制 Java程序中,处理异常要经历三个主要阶段:抛出异常,捕获异常和处理异常。当一个异常被抛出并捕获后,既可以就地自行处理,也可以调用相应异常类的成员方法加以处理,还可以抛给调用该方法的成员方法处理。 6.2.1 抛出异常 所谓抛出异常是指在程序的运行过程中,一旦发生了一个可识别的错误,就立即创建一个与该错误相对应的异常类对象,将其作为参数抛给处理该异常的代码块。如果产生的异常是系统可标识的标准异常,则抛出异常的工作就由系统自动地完成;如果产生的异常是用户自定义的异常,就需要应用程序自行地创建异常类对象,并借助throw语句将其抛出。 6.2.2 捕获异常 在Java程序中,捕获异常用try-catch-finally语句实现,该语句可以被用来捕获一个或多个异常,基本语法格式为: try { Java statements } catch (ExceptionType1 ExceptionObject){ handler for this exception type } catch (ExceptionType2 ExceptionObject){ handler for this exception type } ....... 简单的例子 public class TestTryCatch //测试异常捕获类 { public static void main(String[] args) { int i=1; int j=0; try //捕获异常语句 { System.out.println(Try block entered +i= +i+ j= +j); System.out.println(i/j); //产生ArithmeticException异常 System.out.println(Ending try block); } catch(ArithmeticException e){ System.out.println(Arithmetic exception caught); } System.out.println(After try block); } } 为了更好地控制程序的执行过程,使得程序能够在任何情 况下都具有统一的结束方式,可以在try语句块的最后一个 catch子句之后增加一个finally子句,其基本的语法格式 为: try { Java statements } catch (ExceptionType1 ExceptionObject){ handler for this exception type } catch (ExceptionType2 ExceptionObject){ h

文档评论(0)

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

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档