我想在遇到异常时将此内容写入日志:
log(e.getClass().getName());
log(e.getMessage());
log(e.getCause().getClass().getName());
log(e.getCause().getMessage());
呼叫
e.getCause
时是否需要检查null?还是总会填充一个值? 最佳答案
getCause()
可以返回null,因此必须检查。所以-您必须检查null
。来自the documentation
返回值:
此throwable的原因;如果原因不存在或未知,则为null。
您可以使用commons-lang ExceptionUtils.getMessage(e.getCause())
或ExceptionUtils.getRootCauseMessage(e)