klocwork:Suspicious dereference of object reference 'dt' before null check

1.1k Views Asked by At

I am getting Suspicious dereference of object reference 'dt' before null check error with `Klocwork' code analysis. What could be the solution? Thanks!

using (DataTable dt = new DataTable())
        {
            dt.TableName = "Hello";
            dt.Columns.Add("HEllo1", typeof(string));
            if (dt != null)
            {
            }
            return dt;
        }

Getting error at below line,

if (dt != null)

1

There are 1 best solutions below

0
On BEST ANSWER

the line

if (dt != null)

obviously, checks if dt is null. From this, your analyzer assumes that dt might be null at this point. However, immediately before that, you have the following line:

dt.Columns.Add("HEllo1", typeof(string));

which would produce NullReferenceException if dt is null. That's why your analyzer warns you that something is wrong here: it is either dt can't be null so the null check is redundant or your code might throw a sudden NullReferenceException and you should add more null checks.