NullReferenceException on instantiated object?

2019-01-20 19:39发布

This is a segment of code from an app I've inherited, a user got a Yellow screen of death:

Object reference not set to an instance of an object

on the line:

bool l_Success ... 

Now I'm 95% sure the faulty argument is ref l_Monitor which is very weird considering the object is instantiated a few lines before. Anyone have a clue why it would happen? Note that I have seen the same issue pop up in other places in the code.

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);

4条回答
相关推荐>>
2楼-- · 2019-01-20 19:48

I'm inclined to agree with the others; it sounds like one of the parameters you are passing SE.UI.Utilities.GetPermissionList is null which is causing the exception. Your best bet is to fire up the debugger and check was the variables are before that code is called.

查看更多
唯我独甜
3楼-- · 2019-01-20 20:03

Sprinkle in a few variables for all the property-queries on that (loooooongg) line temporarily. Run the debugger, Check values and Corner the little bug.

查看更多
三岁会撩人
4楼-- · 2019-01-20 20:08

The NullReferenceException was actually thrown within a catch block so the stack trace couldn't display that line of code so instead it stopped at the caller.

It was indeed one of the properties of the l_Monitor instance.

查看更多
祖国的老花朵
5楼-- · 2019-01-20 20:09

You sure that one of the properties trying to be accessed on the l_Monitor instance isn't null?

查看更多
登录 后发表回答