如何获得FacesException的根本原因?

时间:2011-12-08 21:26:10

标签: java exception-handling jsf-2

我们使用JSF2 ExceptionHandler来捕获异常。所有运行时异常都在具有精确堆栈跟踪的异常处理程序中捕获。

但该对象将以FacesException的形式出现。有没有办法从NullPointerException对象中获取异常的根本原因,比如说FacesException

1 个答案:

答案 0 :(得分:2)

是的,只需使用从getCause()继承的Throwable方法(因此可用于每个例外和错误):

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

如果你想专门检查NullPointerException(为什么超出我的范围,因为这通常是开发人员错误,不是用户错误,但除此之外),那么你可以进行instanceof检查:

if (cause instanceof NullPointerException) {
    // The cause is a NullPointerException.
}