第六章的 异常处理.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章的 异常处理

常见的RuntimeException ClassCastException:类型转换错误 比如 Object obj=new Object(); String s=(String)obj; ArithmeticException:算术错误 典型的就是0作为除数的时候。 IllegalArgumentException:非法参数 在把字符串转换成数字的时候经常出现的这个异常 可以在自己的程序中好好利用这个异常。 自定义异常类 在Java中已经提供了大量的异常类,但是这些异常类有些时候也很难满足开发者的要求 所以此时用户可以根据自己的需要定义自己的异常类,使得类在出现错误时尽量的强壮。 定义异常类,只需要继承Exception类即可。 class MyException extends Exception{ // 自定义异常类,继承Exception类 public MyException(String msg){ // 构造方法接收异常信息 super(msg) ; // 调用父类中的构造方法 } } public class DefaultException { public static void main(String args[]) { try{ throw new MyException(自定义异常。) ; // 抛出异常 }catch(Exception e){ // 异常处理 System.out.println(e) ; } } } MyException: 自定义异常。 自定义异常类 自定义异常的原则 Java异常类体系中不包含所需要的异常类型。 用户需要将自己所提供类的异常与其他人提供类的异常进行区分。 类中将多次抛出这种类型的异常。 如果使用其他程序包中定义的异常类,将影响程序包的独立性与自包含性。 自定义异常类与Java异常类的融合 由于Java异常处理机制只能处理Throwable类或其子类的对象,所以自定义异常类需要选取Throwable类或其某个子类作为父类。 一般自定义的异常类都以Exception类为父类。 从Exception类派生的自定义异常类的名字一般以Exception结尾。 自定义异常类的定义与使用 定义异常类 public class ServerTimeOutException extends Exception{ private String reason; private int port ; public ServerTimeOutException(String reason, int port){ this.reason = reason; this.port = port;} public String getReason() {return reason;} public int getPort() {return port;} } Public void connectMe(String serverName) throws ServerTimeOutException{ int success ; int portToConnect = 80; success = open(serverName, portToConnect); if(success= -1){ throw new ServerTimedOutException( “Could not connect”,80); } } 抛出产生的异常 获得异常并处理 Public void findServer(){ try{ connectMe(defaultServer); }catch(ServerTimeOutException e){ System.out.println(“Server timed out, try another”); try{ connectMe(alternateServer); }catch(ServerTimeOutException e1){ System.out.println(“No server avaliable”); } } 异常使用默认规则 对异常的处理,有一条行之有效的默认规则:向上抛出 被调用类在运行过程中对遇到的异常一概不作处理,而是直接向上抛出,一直到最上层的调用类 调用类根据应用系统的需求和特定的异常处理规则进行处理 如向控制台输出异常堆栈信息,打印在日志文件中。 用一句形象的话来说,就是谁使用,谁(最上层的调用类)处理。 小结 异常处理机制是保证Java程序正常运行、具

文档评论(0)

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

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

1亿VIP精品文档

相关文档