java_异常处理范例.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 9.2.4 自定义异常类 throw new Exception (“IllegalAgeData:”); //主动抛出异常对象 通过throw语句可以抛出程序指定的异常对象,例如: catch (Exception e) { System. out. println (e. toString()); //e是Exception异常对象 } 抛出的仍然是Java定义的异常类Exception的对象, 在catch子句中只能捕获Exception类对象。 当Java提供的异常类不能满足需要时,程序需要对自 己抛出的异常类进行特殊处理,则可以自定义异常类。自 定义的异常类应该是Exception的子类。 * 9.2.4 自定义异常类 【例9.7】自定义异常类。 public class IllegalAgeException extends Exception //无效年龄异常类 { public IllegalAgeException (String s) { super(s); } public IllegalAgeException() { this(); } } class CircleException extends Exception { double radius; CircleException (double r) { radius=r; } public String toString() { return “半径r=”+radius+”不是一个正数” } } * 9.2.4 自定义异常类 【书例9.7】计算圆面积(自定义异常类) 9.2.4 自定义异常类 class Circle{ private double radius; public void setRadius(doule r) throws CircleException { if(r0) throw new CircleException(r) else radius=r;}……………… } main()方法里 Circle cir=new Circle); try{cir.setRadius(-2.0);} catch(CircleException e){System.out.……;} cir.show(); * * * * * * 1. 异常处理语句语法 9.2.2 异常处理语句 try { 语句1 //存在潜在异常的代码 } catch(异常类 异常对象) //子句可以有一个或多个,但至少一个 { 语句2 //捕获到异常并进行处理的代码 } finally //子句可以省略 { 语句3 //最后必须执行的代码,无论是否捕获到异常 } * try/catch块 2. 异常处理语句执行过程 (1) 正常情况下(即没有产生异常时) 首先执行try子句中的语句序列; 若没有产生异常则跳过catch子句, 再执行finally子句中的语句序列; 然后继续执行后面的语句。 * try/catch块 * 9.2.2 异常处理语句 (2) 捕获异常并处理 catch子句说明: 其参数是一个异常对象e, 其类型必须是Throwable类的子类, 指定当前catch子句所能处理的异常类型。 catch语句可以有多个,分别处理不同类的异常。 * try/catch块 * try/catch块 * 9.2.2 异常处理语句 【例9.1】异常的捕获和处理。 int i; int[] a={1,2,3,4}; for(i=0;i5;i++) System.out.println(“a[”+i+”]=”+a[i]); System.out.println(“5/0”+(5/0); 9.2.2 异常处理语句 * =多个catch子句需要按异常类从子类到父类的次序依次排列。 通常最后一个catch子句的异常类参数声明为Exception, 这

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档