第10章 异常.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文档。上传文档
查看更多
第10章 异常

第10章 异常处理 10.1 异常处理概述 1、异常 2、异常示例 3. 传统的异常处理方法 10.2 Java异常处理机制 1. 异常处理语句 处理多种类型异常 10.3 Java异常类型 一些预定义的异常类型 ArithmeticException NullPointerException NegativeArraySizeException ArrayIndexOutOfBoundsException IOException FileNotFoundException SecurityException …… 10.3.1 异常类型的继承关系 Java中异常的类结构 Error:很难恢复的错误 Exception: RuntimeException:一般表示设计或实现方面的问题(可以不处理) ArithmeticException NullPointerException NegativeArraySizeException ArrayIndexOutOfBoundsException SecurityException …… 其他异常:运行时因环境的影响可能发生并可被处理的问题。(用户的错误很可能导致这类问题的发生)(必须处理) IOException FileNotFoundException …… 10.3.2. 异常类(Exception)的常用方法 Exception类有自己的数据成员和成员方法。 其构造方法为: public Exception () public Exception (String s) 其公有的方法为(这三个方法都是从Throwable类继承而来): public String getMessage ( ) 返回详细的异常信息 public String toString ( ) 返回对异常类型的简要说明public void printStackTrace ( ) 返回对异常类型的简要说明 10.3.3. 异常的继承关系的探讨 注意:由于异常之间的继承关系,基于父类的异常处理可以捕获其所有的子类异常对象。 10.4方法声明抛出异常throws 程序员可以不在当前方法内处理异常,而是把异常抛出到调用方法中。 方法头声明抛出异常: 调用声明抛出异常的方法时,需要进行异常处理,或者也将异常抛出,由其上级调用者处理。 异常的传播过程 发现异常的方法若不能处理异常,这时异常被抛出给其上级调用者。 如果调用者也不能处理这个异常,还可以继续传递给上级调用者去处理,这种传播会一直继续到异常被处理为止。 如果程序始终没处理这个异常,异常会传递到Java虚拟机运行时系统,运行时系统捕获这异常后通常只是简单地终止这个程序。 10.5抛出自定义异常throw 自定义异常:从Exception继承的类 异常类中可以有与异常相关的属性和方法,可以被异常处理调用 在方法内抛出自定义异常 方法体内:创建异常对象,并抛出。 throw 异常对象; 方法头:声明抛出异常列表 class MyException extends Exception { private int detail; MyException(int i) { detail=i; } public String toString() { return MyException:+detail; } } class Factorial{ static double compute( int a ) throws MyException{ if( a 0 ) throw new MyException( a ); else{ double s=1.0; for(int i=1;i=a; i+ + ){ s=s*i; } return s; } } } public class Test{ public static void main( String args[ ] ){ int s = 1; try{ s = Fpute(3); System.out.println(“3的阶乘为“+s); s = Fpute(-10); System.out.println(“-10的阶乘为“+s); s = Fpute(5); System.out.println(“5的阶乘为“+s); } catch(MyException e) { System.out.println(e.toString( )); } } } * * 异常是运行时产生的错

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档