【发布时间】:2013-10-15 02:04:07
【问题描述】:
我使用的 API 在大多数方法中都会抛出已检查的异常,甚至构造函数也会抛出已检查的异常。
当使用 API 方法时,我想一直用 try catch 来处理它。假设我使用了 10 次某些方法,那么我需要将它包围在 try catch 块中 10 次。
事情是
- 我不想将它传播到上层。
- 我想在使用这些方法时摆脱 try catch 块。
处理这种情况的正确方法是什么?
有人告诉我可调用接口。在这种情况下我们如何使用它?
【问题讨论】:
-
如果您无法修改 API,那么听起来您需要为要使用的每个 API 方法编写一个包装器方法。然后包装器可以执行异常处理,并且您通常会直接引用 API 的每个地方都将引用您的包装器方法。
-
但如果有 50 个方法,那么在这种情况下我需要编写 50 个包装器方法。有没有更好的办法。有人告诉我可调用接口。在这种情况下我们如何使用它?
-
它是像 JDBC 这样的知名 API 吗?可能已经有一个包装器(如 Spring 的 JDBCTemplate)
-
我听说过使用可调用接口来解决此类问题,因此抱歉无法发表评论。我同意如果有 50 多种方法,这可能会很耗时,但如果做得正确,那就是一次性的工作。我的建议是与使用相同 API 的其他用户交谈,了解他们如何解决相同的问题(如果有的话)。
标签: java exception exception-handling callable