您希望何时将异常传播到另一个类/方法而不是在同一类/方法中捕获异常?
答案 0 :(得分:2)
您可以捕获必须处理它的异常。
根据经验,你应该让异常冒泡,但如果你不希望你的子程序因(可能是预期的)错误而崩溃,而不是处理异常,这通常涉及记录错误和/或向用户显示错误消息。
答案 1 :(得分:0)
良好的做法是“提早出发,迟到”。这使您可以更好地了解异常的原因。
答案 2 :(得分:0)
这个话题相当广泛;幸运的是,已经有了很好的资源:
Guidelines on Exception propagation (in Java)
http://www.javacodegeeks.com/2012/04/exception-handling-guidelines-best.html
答案 3 :(得分:0)
在现实代码中出现的绝大多数异常都无法恢复,因为有任何有意义的代码会重试操作或尝试以不同方式执行操作。唯一的恢复是以有序的方式中止当前的工作单元 - 记录异常,释放任何资源和类似的东西。
这意味着,作为第一条规则,您总是希望将异常传播到定义了您的工作单元的明确定义的异常障碍。< / p>
如果您的代码要求与此不同,那么它可能会非常明显,因此您无需在一般情况下考虑它。