Android コード検査 - 中リスクのログ分析 (17)

        Coverity コード インスペクションと一般的な高リスクおよび低リスク ログの関連分析についてはすでに紹介しましたが、ここでは主に中リスク ログの分析について説明します。

中リスク(中)ログ分析

1、nullチェック前の逆参照(REVERSE_INULL)

        これは通常、コード内で null チェックが逆に行われたこと、つまり、オブジェクトが使用される前に null かどうかがチェックされたことを示します。このエラーは、コード内でオブジェクトの null 値チェックが行われ、その後オブジェクトが操作される (メソッドの呼び出し、フィールドへのアクセスなど) ため、NullPointerException が発生する可能性があることを示します。

この問題を解決するには、次の手順が考えられます。

1) エラーを報告するコードの部分を調べ、関係するオブジェクト参照を特定し、null チェック操作を元に戻します。

2) NULL 値チェックのロジックが正しいことを検証し、オブジェクトが NULL の場合にはオブジェクトに対する操作がスキップされることを確認します。

3) オブジェクト操作を実行する前に、ポジティブ null チェック操作を使用して、オブジェクトが null でないことを確認します。これは、条件付きステートメント (if ステートメントなど) またはオプションの例外処理メカニズム (try-catch など) を使用して実現できます。

4) 必要に応じて、より適切なエラー コンテキストを提供するために、null チェック後の追加のエラー処理またはログ記録が考慮される場合があります。

このエラーを解決する方法の例を次に示します。

public class DereferenceBeforeNullCheckExample {
    public static void main(String[] args) {
        Object obj = null;

        // 错误示例

おすすめ

転載: blog.csdn.net/c19344881x/article/details/131802538