gpt4 book ai didi

java - 打印异常与 Exception.getMessage

转载 作者:IT老高 更新时间:2023-10-28 20:41:06 29 4
gpt4 key购买 nike

关于异常使用以下两段代码是否有最佳实践。

//code1

} catch (SomeException e) {
logger.error("Noinstance available!", e.getMessage());
}

//code2
} catch (SomeException e) {
logger.error("Noinstance available!", e);
}

什么时候应该使用异常的getMessage方法?

最佳答案

第一个无法编译,因为方法 error 接受 String 作为第一个参数,接受 Throwable 作为第二个参数。

e.getMessage() 不是 Throwable

代码应该是

} catch (SomeException e) {
// No stack trace
logger.error("Noinstance available! " + e.getMessage());
}

对比

} catch (SomeException e) {
// Prints message and stack trace
logger.error("Noinstance available!", e);
}

第一个只打印一条消息。第二个也打印整个堆栈跟踪。

是否需要打印堆栈跟踪取决于上下文。

如果您已经知道为什么会抛出异常,那么打印整个堆栈跟踪不是一个好主意。

如果你不知道,最好打印整个strack trace,以便轻松找到错误。

关于java - 打印异常与 Exception.getMessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32840399/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com