包装器异常与它们具有的多catch
语句之间有什么区别。它们不是一样的我可以使用多个catch
而不是构建我自己的异常并在其中包装吗?
答案 0 :(得分:1)
我认为你混淆了两个概念。多捕获是一种方便的方式,这里说的是处理这些条件的代码。它只是提供了更简洁的旧代码版本。包装异常允许您为调用者提供更有意义的异常 - 这是您如何设计应用程序的问题。例如,我曾在过去的应用程序中选择在DAOException中包装所有数据访问异常。呼叫者通常知道出了问题并且可以采取相应行动。如果需要,他们也可以查看内部细节。
答案 1 :(得分:0)
良好的实践是避免在具有完全相同目的的标准异常时创建自定义异常。但更重要的是,用一个代码调用包装方法会使代码的可读性降低。此外,新的异常是一项耗费资源的操作!
此外,某些代码块可能会抛出本质上非常不同的异常。将它们作为类似的东西并不是一个明智的想法,即使异常处理在你的情况下是相似的。