0

これは、私が継承したアプリからのコードの一部です。ユーザーはイエロー スクリーンで死亡しました。

オブジェクト参照がオブジェクト インスタンスに設定されていません

行で:

bool l_Success ... 

オブジェクトが数行前にインスタンス化されていること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);
4

4 に答える 4

1

l_Monitor インスタンスでアクセスしようとしているプロパティの 1 つが null でないことは確かですか?

于 2008-09-10T19:49:46.203 に答える
0

その (looooongg) 行のすべてのプロパティ クエリに対して、いくつかの変数を一時的に振りかけます。デバッガーを実行し、値を確認して小さなバグを修正します。

于 2008-09-10T19:51:50.550 に答える
0

私は他の人に同意する傾向があります。SE.UI.Utilities.GetPermissionList を渡すパラメータの 1 つが null であり、例外が発生しているようです。あなたの最善の策は、デバッガーを起動し、そのコードが呼び出される前に変数が存在することを確認することです。

于 2008-09-10T19:56:17.793 に答える
0

NullReferenceException実際には catch ブロック内でスローされたため、スタック トレースはそのコード行を表示できず、代わりに呼び出し元で停止しました。

それは確かにl_Monitorインスタンスのプロパティの 1 つでした。

于 2008-09-17T15:32:29.523 に答える