第5章第5章java异常处理(774KB).ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何创建自定义异常 打开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); } catch(DevideByMinusException e){ System.out.println(程序发生DevideByMinusException); } catch(Exception e){ System.out.println(程序发生其他类型异常); } } } 多catch结构 上面的程序,我们使用一个try后面跟着多个catch来捕捉异常,每一个catch可以处理一个不同的异常。 如果将catch(Exception e)代码块放到前面,行吗?为什么? Exception类是所有异常类的父类,从语法上讲,是能够处理所有异常的。所以他后面的catch代码块永远都得不到执行 使用多catch结构捕获多种异常时,catch子句应该按先子类异常再父类异常的顺序排列 实战演习 编程求解并输出从键盘输入的浮点数的平方根,并设计自己的异常来处理输入数据小于0.0的异常情况,并在出现异常时输出提示信息“输入了负数”。 深圳职业技术学院 1、以每一次课(2节课)为单元。 Java面向对象程序设计 深圳职业技术学院软件技术专业 异常处理 内容提要 4 异常的基本概念 1 2 3 Java异常处理机制 掌握 try-catch 语句的用法 掌握throws关键字的用法 什么是异常? class MyMath{ public int devide(int x,int y){ 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); } } 该程序编译能通过吗?运行程序,有什么信息返回? 异常 Exception in thread main java.lang.ArithmeticException: / by zero 这说明,程序发生了算术异常(ArithmeticException),非正常的结束了。这种情况就是我们说的异常 异常定义了程序中遇到的非致命的错误,而不是编译时的语法错误。如除数为0,打开一个不存在的文件,操作数越界等等。 异常的基本概念 运行时发

文档评论(0)

精品课件 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档