Как получить основную причину исключения FacesException? - PullRequest
2 голосов
/ 09 декабря 2011

Мы используем JSF2 ExceptionHandler, чтобы перехватить исключения. Все исключения времени выполнения перехвачены в обработчике исключений с точной трассировкой стека.

Но объект приходит как FacesException. Есть ли способ получить основную причину исключения, скажем, NullPointerException, из объекта FacesException?

1 Ответ

2 голосов
/ 09 декабря 2011

Да, просто используйте метод getCause(), унаследованный от Throwable (и, следовательно, доступный при каждом исключении и ошибке):

Throwable cause = facesException.getCause();
// ...

Если вы хотите специально проверить на NullPointerException (почему я не знаю, как правило, это ошибка разработчика, а не ошибка пользователя, но в стороне), тогда вы можете сделать instanceof проверку:

if (cause instanceof NullPointerException) {
    // The cause is a NullPointerException.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...