Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any way to find out which object caused the NullReferenceException?

Tags:

c#

asp.net

Is there any way to find the object name that caused the control to flow into the catch block from a NullReferenceException, so that we can easily debug by giving an alert or logging the object that was null?

like image 582
teenup Avatar asked Aug 08 '11 09:08

teenup


2 Answers

No.
You only get the stack trace including line numbers.
This helps you in simple cases like this:

var result = myString.Trim();

But it doesn't help in lines like this:

var result = myObj.Method1().Method2();
like image 139
Daniel Hilgarth Avatar answered Sep 23 '22 10:09

Daniel Hilgarth


(NOTE: The answer is for the original question, before it was edited four years after the fact)

What is an object's name? It's a design-time token to us, programmers, which identifies the object reference, but it has meaning only until compilation.

Some objects have a dedicated Name property but that does not (and should not) have anything to do with the name of the object reference in code, it's the visual designer's courtesy to name object references after the Name property, but it's a convention rather than a requirement. Besides, a null reference cannot have Name property simply because the reference is null, it's not yet assigned to any object that has a readable Name.

like image 43
Boris B. Avatar answered Sep 22 '22 10:09

Boris B.