我有一个关于异常处理程序的问题。我的项目有一个结构化代码,其中有许多用于不同目的的包和类。在这段代码中,我尝试在很多地方捕获不同类型的异常。提到其中的一些是SAXException
, IOException
, NumberFormatException
, ParserConfigurationException
,RuntimeException
等等。
在我捕获异常的所有情况下,我只打印一个堆栈跟踪。当我遇到异常时,我会从堆栈跟踪中找出它发生的函数并相应地修复它。除了我不打算做任何事情,我也不打算做任何其他事情,因为代码量并不大,而且对我来说很容易调试。
现在,我正在使用第三方开发人员提供的外部 Java 库。这个库为我调用的每个可能的函数抛出异常。我正在尝试在这个库上编写一个包装器以利用它。但是,由于这个库,我在代码中到处都可以找到 try/catch 块。
例如,我的代码如下所示 -
Class Wrapper
{
public void method1()
{
....
try
{
...
third party library calls...
...
} catch (Exception e) { e.printStackTrace(); }
}
public void method2()
{
....
try
{
...
third party library calls...
...
} catch (Exception e) { e.printStackTrace(); }
}
// ... and so on... there are 50-100 methods like this.
// some are even one-liners.
}
鉴于这种情况,我应该切换到本讨论中提到的全局异常处理程序吗?
这会避免在我的代码中到处写 try/catch 块吗?
另外,我应该删除现有的 try/catch 块吗?
谢谢!