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

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
调用者需做的修改 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的异常情况,并在出现异常时输出提示信息“输入了负数”。 深圳职业技术学院 2008-05-15 * * * * * * * * * 面向对象程序设计(Java) ---- 异常处理 深圳职业技术学院 主讲教师:袁梅冷 2008-06-10 电信学院---软件工程系 本单元教学内容 异常的基本概念和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,打开一个不存在的文件,操作数越界等等。 异常的基本概念 运行时发生的错误称为异常。 如果不对异常进行处理,那么一旦引发异常,程序将突然中止。 要么控制权返回给操作系统。 要么系统处于死机崩溃状态。 因此,安全健壮的程序设计语言应当引入有效的异常处理机制 对MyMathTest类进行如下修改 class MyMathTest{ public static void main(String[] args){ try{ MyMath mobj; mobj=new MyMath(); int result; result=mobj.devide(3,0); System.out.println(the result is + result); }catch(Exception e){ System.out.println(e.getMessage()); } System.out.println(program is running here.); } } 说明 我们看到,当我们在程序中加了红色的代码后,在出现了异常后,程序没有异常中止,而是正常的继续运行。为什么会这样呢? 我们用try…catch语句对程序中可能出现异常的语句进行了处理

文档评论(0)

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

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

1亿VIP精品文档

相关文档