我们使用JSF2 ExceptionHandler
捕获异常。所有运行时异常都通过精确的堆栈跟踪捕获到异常处理程序中。
但是对象以FacesException
的形式出现。有什么方法可以从NullPointerException
对象获取异常的根本原因,例如FacesException
吗?
最佳答案
是的,只需使用从getCause()
继承的Throwable
方法(因此可用于每个异常和错误):
Throwable cause = facesException.getCause();
// ...
如果您要专门检查
NullPointerException
(为什么超出我的范围,因为那通常是开发人员错误,而不是用户错误,除了那),那么您可以执行instanceof
检查:if (cause instanceof NullPointerException) {
// The cause is a NullPointerException.
}