我们使用JSF2 ExceptionHandler
来捕获异常。所有运行时异常都在具有精确堆栈跟踪的异常处理程序中捕获。
但该对象将以FacesException
的形式出现。有没有办法从NullPointerException
对象中获取异常的根本原因,比如说FacesException
?
答案 0 :(得分:2)
是的,只需使用从getCause()
继承的Throwable
方法(因此可用于每个例外和错误):
Throwable cause = facesException.getCause();
// ...
如果你想专门检查NullPointerException
(为什么超出我的范围,因为这通常是开发人员错误,不是用户错误,但除此之外),那么你可以进行instanceof
检查:
if (cause instanceof NullPointerException) {
// The cause is a NullPointerException.
}