在flex中使用throwable cause处理自定义java异常

时间:2012-03-08 09:57:06

标签: java flex exception-handling

我使用自定义java异常为flex客户端提供比异常本身更多的信息。我的异常扩展了Exception,它有一个属性,包含客户端所需的信息。

好吧,我的问题如下:当我调用super()或super(“message”)构建异常时,flex客户端可以正确访问所有信息。但是如果我使用Throwable cause(super)导致异常,那么flex客户端只能访问stackTrace。

public class MyException extends Exception {

    private String errorCode;

 public String getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(String errorCode) {
        this.errorCode = errorCode;
    }

 public MyException(String msg) {
        super(msg);
    }

public MyException(Throwable cause) {
        super(cause);
    }
}

通过使用MyException(String msg),Flex客户端可以访问errorCode 通过使用MyException(Throwable cause),flex客户端无法访问errorCode

在flex方面,代码是:

var faultEvent : FaultEvent = FaultEvent( event );
var errorMessage:ErrorMessage = faultEvent.message as ErrorMessage;
var codeError:String = errorMessage.rootCause.errorCode;

你知道发生了什么吗?

1 个答案:

答案 0 :(得分:0)

问题是您使用的是final。 请勿使用final关键字。