0
在Java SE中,可以使用initCause
来设置异常原因,以避免在捕获和重新抛出异常时丢失有关错误的信息。在Java ME中可以做到这一点吗?替代Java ME中的异常原因
在Java SE中,可以使用initCause
来设置异常原因,以避免在捕获和重新抛出异常时丢失有关错误的信息。在Java ME中可以做到这一点吗?替代Java ME中的异常原因
这是很容易扩展Exception类来实现这一目标:
public class OperationFailedException extends Exception{
public Exception cause;
public OperationFailedException(String string, Exception ex) {
super(string);
cause=ex;
}
public void printStackTrace(){
super.printStackTrace();
System.err.println("\nCaused by:\n");
cause.printStackTrace();
}
}
当我们要避免强迫主叫这例外的是隐藏了底层的例外,比如当我们想避免依赖关系或者有用处理太多类型的例外。我通常也会创建这个类的一个版本,扩展为RuntimeException
用于包装异常,我想取消选中