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文档。上传文档
查看更多
2010-2-1 异常处理、结合框架 目标 理解异常的概念 运用 try 块、catch 块和 finally 块处理异常 运用多重 catch 块处理异常 运用嵌套 try/catch 块处理异常 运用关键字 throw 和 throws 处理异常 集合框架的理解 Set 、list、map 异常的概念 异常:应用程序在运行过程中出现的错误或非正常的意外情况,即虚拟机的通常操作中可能遇到的异常,是一种常见的运行错误。 原因:数组下标越界;控指针的访问;试图读取不 存在的文件,数学除零等 异常处理机制由编译器强制执行 Java编译器要求方法必须声明抛出可能发生的非运行时异常,但并不要求必须声明抛出未捕获的运行时异常。 完全不出错是不可能的,不要刻意回避,要多想意外发生后如何去处理它! 异常的概念 为什么用异常: 运行时发生的错误如果没有异常处理机制,程序将会终止并使所有已分配资源的状态保持不变,这样会导致资源泄露。 如:不能收回某个程序分配的内存,以供其它程序使用。 什么是异常 异常的分类 在Java语言中,“异常”可以看作是一个类,异常类的根是Throwable。Throwable是类库java.lang包中的一个类,并派生出Exception类和Error类两个子类 异常类的结构: Throwable    |____Error    |____Exception    |____RuntimeException    |____其它Exception   Error:Java运行系统中的内部错误以及资源耗尽的情况。   Exception:RuntimeException及其子类(编程导致的异常)、其它Exception类。 异常的分类 Error体系 : ????? Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形。应用程序不应该抛出这种类型的对象(一般是由虚拟机抛出)。如果出现这种错误,除了尽力使程序安全退出外,在其他方面是无能为力的。所以,在进行程序设计时,应该更关注Exception体系。 Exception体系包括RuntimeException体系和其他非RuntimeException的体系 : RuntimeException:RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。处理RuntimeException的原则是:如果出现RuntimeException,那么一定是程序员的错误。例如,可以通过检查数组下标和数组边界来避免数组越界访问异常。 其他非RuntimeException(IOException等等):这类异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。 Java异常类 异常的捕获 对于异常有两种处理方法 : 要么捕获异常。通过try catch方法,catch子句中放置处理异常的语句。 要么声明异常,也就是在方法名后面加上throws Exceptionname,..., 方法本身只是抛出异常,由函数调用者来捕获异常。 异常的捕获 处理异常 try 和 catch 块 try 和 catch 块 嵌套try-catch块 有时块的一部分导致一个错误,而块本身也可能导致一个错误,必须将一个异常嵌套在另一个异常处理机制中 从内层try语句寻找与异常匹配的catch语句,如无,检查下一个,从里到外,直到最后一个catch 嵌套 try – catch 块 多重 catch 块 一段代码可能会生成多个异常 当引发异常时,会按顺序来查看每个 catch 语句,并执行第一个类型与异常类型匹配的语句 执行其中的一条 catch 语句之后,其他的 catch 语句将被忽略 多重 catch 块 使用多重 catch 语句时,异常子类一定要位于异常父类之前 ,否则,控制权将永远传不到子类,将产生一个不能到达的代码,即产生错误 finally 块 finally 是java异常处理提供的另一个关键字,通俗的说finally是异常处理语句结构的一部分,表示无论什么情况都要执行的模块。finally语句的主要作用是在try或catch转到其他部分前做的一些“善后”工作。比如:关闭打开的文件,释放链接、内存等系统资源。 finally语句的执行是一种无条件的操作,无论在哪种异常下都会执行,即使try或catch模块中有continue、return、break等关键字,或者是有throw语句,程序都会执行finally 语句。 有时需要清理代码,但程序已经停止运行,使用finally 块可使程序不管发生什么异常都将执行

文档评论(0)

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

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

1亿VIP精品文档

相关文档