Java me Java ME中异常原因的替代

Java me Java ME中异常原因的替代,java-me,Java Me,在Java SE中,可以使用initCause设置异常的原因,以避免在捕获和重新引发异常时丢失有关错误的信息。在Java ME中也可以这样做吗?很容易扩展Exception类来实现这一点: public class OperationFailedException extends Exception{ public Exception cause; public OperationFailedException(String string, Exception ex) {

在Java SE中,可以使用initCause设置异常的原因,以避免在捕获和重新引发异常时丢失有关错误的信息。在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以包装我想要取消选中的异常