RE: NullReferenceException Message Feature Request
From: Bryan Livingston (anonymous_at_discussions.microsoft.com)
Date: 02/21/04
- Previous message: Bryan Livingston: "Re: NullReferenceException Message Feature Request"
- In reply to: Bryan Livingston: "NullReferenceException Message Feature Request"
- Next in thread: Kelvin Hoover: "RE: NullReferenceException Message Feature Request"
- Reply: Kelvin Hoover: "RE: NullReferenceException Message Feature Request"
- Messages sorted by: [ date ] [ thread ]
Date: Sat, 21 Feb 2004 11:11:05 -0800
For the record, here is what one of the program managers for the CLR had to say about it:
The NullReferenceException occurs because an instruction like “call [eax+44]” or “mov edx, [esi+24]” has resulted in an access violation. We don’t retain nearly enough information to form a correspondence between a particular register being NULL at a particular EIP and the fact that a particular reference in the application was null. Especially since the EIP might be in a shared helper like a write barrier routine or an array helper. In those cases, we would have to perform a limited stack walk to get the effective EIP.
The machinery that would be required to improve this error message is huge. For the foreseeable future, you will have to rely on debuggers, or on FX code explicitly checking and throwing an appropriate NullArgumentException.
Chris.
http://blogs.msdn.com/cbrumme
----- Bryan Livingston wrote: -----
I'm guessing that NullReferenceExceptions are by far the most common exceptions thrown in .net.
Why not add the type of the reference to the message? Have it say something like:
Object reference of type 'string' not set to an instance of an object.
This would really help when trying to figure out where the null reference is happening.
I've just spent the last two days finding a null reference that happens very intermittently. Having the type would have saved me many hours.
In addition to just the type, you might be able to use reflection to give a property name or variable name.
Bryan Livingston
Alphora.com
- Previous message: Bryan Livingston: "Re: NullReferenceException Message Feature Request"
- In reply to: Bryan Livingston: "NullReferenceException Message Feature Request"
- Next in thread: Kelvin Hoover: "RE: NullReferenceException Message Feature Request"
- Reply: Kelvin Hoover: "RE: NullReferenceException Message Feature Request"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|