Throwable cause 引数を取っている Throwable.initCause() の呼び出しを報告します。
このような場合は initCause() の呼び出しを除去し、その引数を例外のコンストラクターの呼び出しに追加できます。
例:
try {
process();
}
catch (RuntimeException ex) {
RuntimeException wrapper = new RuntimeException("Error while processing");
wrapper.initCause(ex); // 'Throwable.initCause()' の不要な呼び出し
throw wrapper;
}
コンストラクターにイベント引数を渡すためのクイックフィックスを使用できます。 クイックフィックス適用後:
try {
process();
}
catch (RuntimeException ex) {
RuntimeException wrapper = new RuntimeException("Error while processing", ex);
throw wrapper;
}