JavaEE项目中异常处理计算机等级考试

文章作者 100test 发表时间 2010:01:01 12:30:39
来源 100Test.Com百考试题网


  我们在定义一个新的异常类时,必须提供这样一个可以包含嵌套异常的构造函数。并有一个私有成员来保存这个“起因异常”。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.

  }


相关文章


使用java调用timesten实现Oracle入库计算机等级考试
单例模式结合观察者模式计算机等级考试
理解Java类加载原理计算机等级考试
String、StringBuffer和StringBuilder的区别计算机等级考试
JavaEE项目中异常处理计算机等级考试
Javascript操作0select控件大全计算机等级考试
FlexSocket与Java通讯客户端写法计算机等级考试
Java使窗口最小化为图标计算机等级考试
Java中char到底是多少字节?计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛