Я использую пользовательское исключение Java, чтобы предоставить гибкому клиенту больше информации, чем само исключение. Мое исключение расширяет исключение, и оно имеет атрибут с необходимой информацией для клиента.
Что ж, моя проблема в следующем: когда я создаю свое исключение, если я вызываю super () или super ("message"), гибкий клиент может получить доступ ко всей информации должным образом. Но если я создаю исключение по причине Throwable, супер (причине), то гибкий клиент может получить доступ только к 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), гибкий клиент может получить доступ к errorCode
Используя MyException (Throwable причина), гибкий клиент не может получить доступ к errorCode
На гибкой стороне код:
var faultEvent : FaultEvent = FaultEvent( event );
var errorMessage:ErrorMessage = faultEvent.message as ErrorMessage;
var codeError:String = errorMessage.rootCause.errorCode;
Знаете ли вы, что происходит?