【发布时间】:2009-07-05 13:02:41
【问题描述】:
什么时候应该抛出自定义异常?
例如我有一些连接到服务器的代码。连接到服务器的代码在连接失败时会抛出 IOException。在它被调用的方法的上下文中,这很好。在网络代码中也可以。
但是由于这表示没有连接(因此无法正常工作),所以异常一直到 ui。在这个阶段,一个 IOException 是非常模棱两可的。像 NoConnectionException 这样的东西会更好。
所以,我的问题是: 您应该在什么阶段捕获一个异常,而不是抛出另一个更适合抽象的(自定义)异常?
【问题讨论】:
-
stackoverflow.com/questions/975762/… 和许多其他解决相同问题的重复项。他们可能不会从抽象的角度来解决它,但确实会解决它。
-
其实见stackoverflow.com/search?q=[exceptions]+custom。它们中的大多数涵盖相同的基础。
标签: language-agnostic exception abstraction