在flex中处理具有可丢弃原因的自定义java异常

在flex中处理具有可丢弃原因的自定义java异常,java,apache-flex,exception-handling,Java,Apache Flex,Exception Handling,我使用一个自定义java异常为flex客户端提供比异常本身更多的信息。我的异常扩展了异常,它有一个属性,其中包含客户端所需的信息 好吧,我的问题是:当我构建我的异常时,如果我调用super()或super(“message”),flex客户端可以正确地访问所有信息。但是如果我用一个可丢弃的原因super(原因)构建异常,那么flex客户端只能访问stackTrace public class MyException extends Exception { private String

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

好吧,我的问题是:当我构建我的异常时,如果我调用super()或super(“message”),flex客户端可以正确地访问所有信息。但是如果我用一个可丢弃的原因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(可丢弃原因),flex客户端无法访问错误代码

在flex端,代码是:

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

你知道发生了什么吗?

问题是你使用的是
final

不要使用
final
关键字。

抛出
MyException
的代码在哪里?catch(final LDAPException e){throw new MyException(e);}flex客户端无法访问errorCode-什么意思?errorMessage.rootCause对象不包含该属性。但是,如果我没有设置原因,则根本原因确实包含errorCode属性。如果我删除final关键字,则行为相同:(