Java面向对象程序计第5章 包异常与输入输出3.pptVIP

Java面向对象程序计第5章 包异常与输入输出3.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java面向对象程序计第5章 包异常与输入输出3

包、异常与输入输出3 Java异常(续) 本单元教学内容 Java异常的分类及异常类的层次结构 自定义异常 掌握throw关键字的用法 异常分类 Error异常 Error异常:运行时间出现的系统内部的错误以及资源耗尽等情况。 如:虚拟机内部发生错误、电源断电引起的异常中止等。 特点:这类异常性质严重,本身难以控制,且恢复可能性极小,意义不大。 Java不要求对这类异常进行必要的控制,编译期也不对这类异常进行检测。 RuntimeException异常 RuntimeException及其子类描述的异常,一般是由于编程错误引起的异常。如:错误的造型、数组越界存取、空指针访问等。 特点:完全可以通过改进程序加以克服,且数目很大。 Java对这种异常的处理:编译时,不对这类异常进行检测;运行时,会自动在异常发生处生成相应的异常的对象,并由系统默认的异常处理器处理(通常输出错误信息及错误地点)。 应用程序可以对其进行捕获处理(但不提倡)。 运行环境引发的异常 运行环境引发的异常。 如:网络不通,文件找不到等。 特点:只要运行环境正常,程序是可以正常运行的。 Java要求对这类异常进行必要的控制。 试一试 class MyMath{ public int devide(int x,int y) throws ArithmeticException{ int result=x/y; return result; } } class MyMathTest{ public static void main(String[] args){ MyMath mobj; mobj=new MyMath(); int result; result=mobj.devide(3,0); System.out.println(the result is + result); } } 检查和非检查型异常 非检查型异常: 编译期间编译器不对其进行检查的异常,包括Error类和RuntimeException类及其子类。 检查型异常: 除非检查型异常以外的其它异常。 编译时,编译器对方法进行分析,如方法中有产生这种异常的可能,那么方法中要么有异常的处理模块,要么必须在方法头部抛出异常,否则,不能通过编译。 自定义异常 自定义异常也是一个类,如果我们要创建检查型的 异常,我们可以继承Exception类;如果我们要创建非检查型的异常,我们可以继承RuntimeException 类 如何创建自定义异常 打开MyMath.java文件,假设我们在devide方法中不允许有负的除数,当接收到一个负的除数时,程序返回一个自定义的异常,通知调用者。 首先创建一个异常类DevideByMinusException class DevideByMinusException extends Exception{ //定义子类构造器方法 public DevideByMinusException(String msg){ super(msg); } } 抛出自定义异常 class MyMath{ public int devide(int x,int y) throws ArithmeticException,DevideByMinusException{ if(y0) throw new DevideByMinusException(除数为负数); int result=x/y; return result; } } throw关键字 用throw语句可以创建并抛出明确的异常 语法形式: Throw new xxException();如: try { if(flag0) { throw new NullPointerException(); } }…… 调用者需做的修改 class MyMathTest{ public static void main(String[] args){ try{ MyMath mobj; mobj=new MyMath(); int result; result=mobj.devide(3,0); // result=mobj.devide(3,-1); System.out.println(the result is + result); }catch(ArithmeticException e){ System.out.println(程序发生ArithmeticException); }

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档