1

我有一个应用程序,其中大约有 100 个不同的类会抛出 FooException 类型。有时这些异常被捕获和处理,有时它们未被捕获并冒泡被记录。

但是,我希望能够将所有出现的 FooException 发送到一个特殊的日志文件,而不管最终如何处理异常。什么是实现这一点的方法?我可以用事件侦听器模式以某种方式做到这一点吗?

4

1 回答 1

0

您可以捕获 type 的所有异常,FooException对它们进行特殊记录并重新抛出它们。

try {
    // throws exception
} catch (AnotherException e) {
   //handle this one
} catch (FooException e) {
   specialLog(e);
   throw e;
} catch (YetAnotherException e) {
   // handle
}

您只对要冒泡的事件执行此操作。

对于您已经处理的那些,只需做同样的事情,但不要重新抛出。

于 2013-02-06T20:37:33.580 回答