我正在使用一个 API,它在大多数方法中抛出检查异常,即使是构造函数也抛出检查异常。
当使用 API 方法时,我想一直用 try catch 来处理它。假设我使用了 10 次某些方法,那么我需要将它包围在 try catch 块中 10 次。
事情是
- 我不想将它传播到上层。
- 我想在使用这些方法时摆脱 try catch 块。
处理这种情况的正确方法是什么?
有人告诉我可调用接口。在这种情况下我们如何使用它?
我正在使用一个 API,它在大多数方法中抛出检查异常,即使是构造函数也抛出检查异常。
当使用 API 方法时,我想一直用 try catch 来处理它。假设我使用了 10 次某些方法,那么我需要将它包围在 try catch 块中 10 次。
事情是
处理这种情况的正确方法是什么?
有人告诉我可调用接口。在这种情况下我们如何使用它?
您可以编写作为 API 自身类的瘦包装器的类。
但这通常没有意义。您不希望自己的代码在出现异常时表现不同吗?通常重要的信息会告诉您,您要求发生的事情不会发生。
如果您确定不需要单独检查和处理这些异常,则可以编写包装器来处理异常并相应地委派您的方法调用。
如果您在自己的方法之一中使用这些方法,则可以用一个 try-catch 块围绕您的方法主体,该块仅捕获指定的已检查异常。
希望能帮助到你
您可以使用:
Thread.setDefaultUncaughtExceptionHandler(new DefaultExceptionHandler(...));
但这是非常不建议的:)