显示异常原因

时间:2013-04-21 22:35:16

标签: java exception

我试图获得throwable的原因,以便在出现异常时显示它:

if (throwable instanof MyException)
    //Do something here..
} else if (throwable instanceof Exception) {
    if (throwable.getCause() != null) {
        //Show the cause here ..
        // throwable.getCause().getLocalizedMessage()
    }
}

当使用null时,我总是得到Cause的{​​{1}}值,而Expression观察者显示它的值为空值。

enter image description here

如何解决问题?

1 个答案:

答案 0 :(得分:3)

如果getCausenull相同,则

cause会返回this。以下是JDK的片段:

public synchronized Throwable getCause() {
    return (cause==this ? null : cause);
}

在您的情况下,您正在查看UsernameNotFoundException例外情况吗?