2

我正在尝试获取可抛出的原因以在发生异常时显示它:

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

当表达式观察器显示它有一个非空值时,我总是得到一个null值。CausegetCause()

在此处输入图像描述

如何得到原因?

4

1 回答 1

3

getCausenull如果causethis相同则返回。这是JDK的一个片段:

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

在您的情况下,UsernameNotFoundException您正在查看的例外情况是什么?

于 2013-04-21T22:38:56.280 回答