Ява, что является причиной броска? - PullRequest
1 голос
/ 10 марта 2019

Итак, если я хочу добавить причину, которая может быть вызвана выбросом, к моему пользовательскому исключению:

class MyException extends Exception {
    public MyException(String message, Throwable cause) {
        super(message, cause);
    }
}

Что такое причина и существует список со всеми причинами, или я также могу создать собственную?Пример кода с обработкой исключений был бы хорош.

1 Ответ

1 голос
/ 10 марта 2019

Вы используете его для объединения исключений.

Если ваш код перехватывает исключения типа ExceptionA, а предложение catch выдает исключение типа ExcpetionB, вы можете передать экземпляр ExceptionA вконструктор ExcpetionB, поэтому любой код, перехватывающий ExcpetionB, сможет обнаружить, что ExcpetionB был сгенерирован в результате того, что ExceptionA был сгенерирован первым.

public void someMethod() throws ExcpetionB {
    try {
        // some code that may throw ExceptionA
    }
    catch (ExceptionA excA) {
        throw new ExceptionB ("some message", excA);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...