Заменить причины исключений в Java ME - PullRequest
0 голосов
/ 16 апреля 2010

В Java SE можно установить причину исключения, используя initCause, чтобы избежать потери информации об ошибке при перехвате и повторном вызове исключения. Можно ли сделать то же самое в Java ME?

1 Ответ

0 голосов
/ 16 апреля 2010

Класс 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 для исключения исключения, которое я хочу отключить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...