私が取り組んでいるプロジェクトでは、次のようなブロックがいくつかあります。
クラスA:
try {
callSomeMethod();
}
catch (Exception e) {
throw new SomeCustomExceptionTypeForMetrics("");
}
ただし、一般的な例外をキャッチするすべてのインスタンスを、特定の「予期される」タイプの例外のみに置き換えるという任務がありました。
問題は callSomeMethod() がこのようなものを持っていることです
クラス B:
try {
if (someCondition...) {
}
else {
//failed
throw new RuntimeException("Timeout while waiting for results")
}
}
catch(InterruptedException e) {
// do some failure stuff here
throw new RuntimeException("Something here");
}
理想的には、私のグループは変更をできるだけ少なくするように私に依頼しました。また、callSomeMethod() の署名を変更することはできませんが、クラス A で RuntimeException をキャッチしたくないため、単にキャッチすることも望んでいません。任意のタイプの RuntimeException - クラス B から除外しているもののみ。
これを処理する最善の方法は何ですか?