3

ドメイン モデルが多数のネストされたメンバー変数で構成されているコード ベースを見ています。

このシナリオを検討してください

private static String getSomeStringRepresentation(A input) {
    String result = "";
    try {
         result = input.getTypeA().getTypeAInfo().get(0).getRepresentation();
    } catch (NullPointerException e) {
        Logger.logDebug(e.getMessage());
    }
    return result;
}

この呼び出しチェーンでは、すべてのメソッド呼び出しで NullPointerException が発生する可能性があります。この場合、catch 句で処理するのが正しいですか? これは「例外を処理できる」場合ですか?

編集

null を 4 回チェックするケースは、非常に厄介です。この場合、NPEを捕まえることは正当化されると思いませんか?

ここでの問題は、null の可能性があるオブジェクトに対して何らかのメソッドを呼び出すことです。

4

4 に答える 4

1

NPE はコード内の単なるエラーであるため、キャッチしてはならず、修正する必要があります。

于 2013-04-26T08:03:01.703 に答える