1. ホーム
  2. java

[解決済み] 汎用的な例外を使用するのではなく、専用の例外を定義して投げる』を解決する方法。

2022-02-10 13:07:39

質問

必要なのは throw RuntimeException 2つのリストの長さが等しくないとき。私たちは SonarQube をコードレビューのために使用します。

以下はそのコードです。

if (objctArray.length != columnArray.length) {
                throw new RuntimeException(String.format("objctArray and columnArray length is not same. objctArray length = %d, columnArray length = %d", objctArray.length, columnArray.length));
            }

今すぐ SonarQube という問題が発生します。 Define and throw a dedicated exception instead of using a generic one.throw new RuntimeException の行になります。を解決するために、どの例外を置き換えたらいいのかわかりません。 SonarQube という問題が発生します。

解決方法は?

この2つのリストが、あるメソッドに渡される引数だとすると IllegalArgumentException は投げるのに適した候補でしょう。のサブクラスです。 RuntimeException を投げることになるので、やはり一種の RuntimeException .

if (objctArray.length != columnArray.length) {
    throw new IllegalArgumentException(String.format("objctArray and columnArray length is not same. objctArray length = %d, columnArray length = %d", objctArray.length, columnArray.length));
}