- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java程序设计 第8讲 异常处理
第八讲 异常处理 8.1 异常处理基础 8.2 异常类型 8.3 异常处理 8.3.1 运行时异常(隐式处理) 8.3.2 非运行时异常(显式处理): try-catch-finally 8.3.3 非运行时异常(显式处理): throw与throws 8.1 异常处理基础 异常是在程序运行过程中所发生的破坏了正常的指令流程的事件。 8.1 异常处理基础 public class Test { public static void main (String args[]) { int i = 0; int r=4/i; System.out.println(This will not be printed!); } } 8.2 异常类型 Throwable是java.lang包中一个专门用来处理异常的类。所有被抛出的异常对象必须是Throwable类的子类。 8.3 异常处理 2. 异常处理可以有以下几种: 对运行时异常可以不做显式的处理; 对非运行时异常必须做显式的处理: (1)使用try-catch-finally语句捕获异常; (2)通过throws子句将异常抛出给上一级处理。 8.3 异常处理 1. 运行时异常(隐式处理) Java编译器允许程序不对它进行处理。这时,Java运行时系统会把生成的运行时异常对象交给缺省的异常处理程序,在标准输出上显示异常的内容以及发生异常的位置。 例如: public class Test{ public static void main( String args[] ){ int i=0; int r=4/i; } } 8.3 异常处理 2.1.1 非运行时异常(显式处理) 尽管java运行时系统提供的默认异常处理程序对于调试很有用,但通常我们希望自己能处理异常,原因如下: (1)允许修正错误; (2)防止程序自动终止。 8.3 异常处理 2.1.1 显式的异常处理通过5个关键字控制: try catch finally throws throw 8.3 异常处理 2.1.1 使用try-catch-finally语句捕获异常 (1)将你要进行异常监控的程序放在try代码块中; (2)如果try代码块中发生异常,该异常将会被抛出; (3)被抛出的异常用catch捕捉,然后用某种合理的方法处理该异常。 8.3 异常处理 2.1 下面是显式的异常处理的通常形式: try { //被监视的可能会产生错误的代码块 } catch(Exception exOb) { //捕捉到某个异常对象exOb后对该异常的处理 } finally { //无论try代码块中的异常是否存在,绝对都要执行的代码。 } 8.3 异常处理 2.1.2 非运行时异常(显式处理) 用多重catch子句来捕获一个或多个异常。 8.3 异常处理 2.1.2 非运行时异常(显式处理) 使用finally子句创建一个代码块。该代码块在一个 try/catch完成之后,另一个try/catch出现之前执行。 8.3 异常处理 3.1 通过throw关键字手动抛出明确的异常 throw语句的通常形式如下: throw ThrowableInstance; 注:获取ThrowableInstance的方法: 通过new操作符创建一个异常对象 8.3 异常处理 3.2 利用throws子句将异常抛出给上一级处理 throws子句的通常形式如下: type method-name(param) throws Excetpion-list { //body of method } 注:Excetpion-list是该方法可以引发的以逗号分割的异常列表。 总结 优点 Java通过面向对象的方法进行异常处理,把各种不同的例外事件进行分类,体现了良好的层次性,提供了良好的接口。 2 . Java的异常处理机制使得处理异常的代码和“常规”代码分开,减少了代码的数量,增强了程序的可读性。 总结 优点 续 3. 由于把异常事件当成对象来处理,利用类的层次性我们可以把多个具有相同父类的异常统一处理,也可以区分不同的异常分别处理,使用非常灵活。 总结 原则 1、对非运行时异常必须捕获或声明,而对运行时异常则不必,可以交给Java运行时系统来处理。 2、对于自定义的异常类,通常把
您可能关注的文档
- IABP的应用(自己).ppt
- IAD3000用户手册(桌面型).doc
- HVAC-Library概述.ppt
- ICOM产品及案例培训-20090803 (NXPowerLite).ppt
- ID124-宏观调控政策对商品住宅价格的影响-以北京市为例.doc
- ID137-省管县进程中的县级城市土地变革.doc
- ID144-国际大都市保障性住房的空间区位及政策研究——以北京市为例.docx
- ID226-经济适用房共有产权的实现方式及其影响20110305.docx
- IM-101年度投资(调整)计划编制和下达流程蓝图设计文档-2011531-V1.0.doc
- IM-102年度投资计划执行情况报告编制流程蓝图设计文档-20110531-V1.0.doc
文档评论(0)