Мне кажется, что большая часть моего времени отладки затрачена на преследование исключений нулевой ссылки в сложных операторах. Например:
For Each game As IHomeGame in _GamesToOpen.GetIterator()
Почему, когда я получаю исключение NullReferenceException, могу ли я получить номер строки в трассировке стека, но не имя объекта, равное нулю. Другими словами, почему:
Object reference not set to an instance of an object.
вместо
_GamesToOpen is not set to an instance of an object.
или
Anonymous object returned by _GamesToOpen.GetIterator() is null.
или
game was set to null.
Является ли это строго выбором дизайна, предназначенным для защиты анонимности кода или есть ли веская причина в дизайне компилятора не включать эту информацию в исключение времени отладки?