设为首页 加入收藏

TOP

JavaEE项目中异常处理
2014-11-23 21:41:25 】 浏览:251
Tags:JavaEE 项目 异常 处理

  我们在定义一个新的异常类时,必须提供这样一个可以包含嵌套异常的构造函数。并有一个私有成员来保存这个“起因异常”。java 代码


  public Class ExceptionB extends Exception{


  private Throwable cause;


  public ExceptionB(String msg, Throwable ex){


  super(msg);


  this.cause = ex;


  }


  public ExceptionB(String msg){


  super(msg);


  }


  public ExceptionB(Throwable ex){


  this.cause = ex;


  }


  }


  当然,我们在调用printStackTrace方法时,需要把所有的“起因异常”的信息也同时打印出来。所以我们需要覆写printStackTrace方法来显示全部的异常栈跟踪。包括嵌套异常的栈跟踪。java 代码


  public void printStackTrace(PrintStrean ps){


  if(cause == null){


  super.printStackTrace(ps);


  }else{


  ps.println(this);


  cause.printStackTrace(ps);


  }


  }


  一个完整的支持嵌套的checked异常类源码如下。我们在这里暂且把它叫做NestedExceptionjava 代码


  public NestedException extends Exception{


  private Throwable cause;


  public NestedException (String msg){


  super(msg);


  }


  public NestedException(String msg, Throwable ex){


  super(msg);


  This.cause = ex;


  }


  public Throwable getCause(){


  return (this.cause == null this :this.cause);


  }


  public getMessage(){


  String message = super.getMessage();


  Throwable cause = getCause();


  if(cause != null){


  message = message + “;nested Exception is ” + cause;


  }


  return message;


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇JavaDouble的精度问题 下一篇String、StringBuffer和StringBui..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目