例外ハンドラについて質問があります。プロジェクトの構造化されたコードがあり、さまざまな目的のために多くのパッケージとクラスがあります。このコードでは、さまざまな種類の例外をキャッチしようとする場所がたくさんあります。それらのいくつかに言及する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ブロックを削除する必要がありますか?
ありがとう!