我使用自定义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;
你知道发生了什么吗?
答案 0 :(得分:0)
问题是您使用的是final
。
请勿使用final
关键字。