有一个很大的材料了有这表明印刷异常的堆栈跟踪是不好的做法。
例如从Checkstyle中的RegexpSingleline检查:
可以使用此检查找到常见的不良做法,例如调用ex.printStacktrace()
但是,我正在努力寻找能够给出正当理由的任何地方,因为栈跟踪对于肯定导致异常的原因非常有用。我知道的事情:
最终用户不应看到堆栈跟踪(出于用户体验和安全目的)
生成堆栈跟踪是一个相对昂贵的过程(尽管在大多数“例外”情况下这不太可能成为问题)
许多日志记录框架都会为您打印堆栈跟踪记录(我们不这样做,不,我们不能轻易更改它)
打印堆栈跟踪不构成错误处理。它应与其他信息记录和异常处理结合在一起。
还有什么其他原因可以避免在代码中打印堆栈跟踪?
冉冉说
有只小跳蛙
相关分类