如何在Java中捕获包装异常?

时间:2017-02-17 09:33:43

标签: java exception exception-handling

我正在为库创建一个包装器。该库引发了多种异常: A B C D E F.

某些类型是可重复的,而其他类型则不是。为了简化包装器客户端的异常处理,我将异常包装成两种已检查的异常: RetriableException and Exception.

因此,我库中任何函数的签名如下:

public void foo() throws RetriableException, Exception {
   ...
}

然而,包装器的客户端应该能够直接捕获异常A,B,C ..以防他们想对它们采取某些特定的操作。

try {
  wrapper.foo()
} catch (A e) {
  doSomething()
}

我应该如何模拟这种行为?

一种方法是要求客户端执行exception.getCause()但它感觉不直观。

0 个答案:

没有答案