2008-09-10 2 views
0

Это сегмент кода из приложения я унаследовал, пользователь получил желтый экран смерти:NullReferenceException на экземпляр объекта?

ссылка на объект не указывает на экземпляр объекта

на линии :

bool l_Success ... 

Теперь я 95% уверен, что неисправный аргумент ref l_Monitor что очень странно, учитывая объект конкретизируется несколько строк раньше. Кто-нибудь знает, почему это произойдет? Обратите внимание: я видел, что одна и та же проблема появляется в других местах кода.

IDMS.Monitor l_Monitor = new IDMS.Monitor(); 
l_Monitor.LogFile.Product_ID = "SE_WEB_APP"; 

if (m_PermType_RadioButtonList.SelectedIndex == -1) { 
    l_Monitor.LogFile.Log(
     Nortel.IS.IDMS.LogFile.MessageTypes.ERROR, 
     "No permission type selected" 
     ); 
    return; 
} 
bool l_Success = SE.UI.Utilities.GetPermissionList(
    ref l_Monitor, 
    ref m_CPermissions_ListBox, 
    (int)this.ViewState["m_Account_Share_ID"], 
    (m_PermFolders_DropDownList.Enabled) 
     ? m_PermFolders_DropDownList.SelectedItem.Value 
     : "-1", 
    (SE.Types.PermissionType)m_PermType_RadioButtonList.SelectedIndex, 
    (SE.Types.PermissionResource)m_PermResource_RadioButtonList.SelectedIndex); 
+0

См. Также [Что такое исключение NullReferenceException в .NET?] (Http://stackoverflow.com/q/4660142/90527) – outis 2012-03-29 01:13:43

ответ

1

Вы уверены, что одно из свойств, пытающихся получить доступ к экземпляру l_Monitor, не равно нулю?

0

Посыпьте несколько переменных для всех свойств-запросов на эту (loooooongg) строку временно. Запустите отладчик, проверьте значения и укоротите небольшую ошибку.

0

Я склонен согласиться с остальными; это звучит как один из параметров, которые вы передаете. SE.UI.Utilities.GetPermissionList имеет значение null, которое вызывает исключение. Лучше всего запускать отладчик и проверять, были ли переменные перед вызовом этого кода.

0

NullReferenceException был фактически выброшен в блок catch, поэтому трассировка стека не могла отобразить эту строку кода, поэтому вместо этого она остановилась у вызывающего.

Это действительно было одно из свойств экземпляра l_Monitor.

Смежные вопросы