首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

.NET 「未將物件參考設定到物件的實例」NullReferenceException 定位技巧

     編輯:程式設計綜合問答

錯誤本質

嘗試在 null 參考上存取成員(欄位/屬性/方法/索引器)。

快速定位三步法

  1. 啟用「中斷點於擲出例外」:VS 選單 Debug > Windows > Exception Settings,勾選 Common Language Runtime Exceptions > System.NullReferenceException。執行時會在**拋出該行**自動中斷。
  2. 觀察區域變數/監看視窗:中斷時,將滑鼠懸停於該行各物件變數,值為 null 的即為罪魁禍首。
  3. 檢查呼叫堆疊:若錯誤發生在庫代碼內,向上回溯至自己的代碼行,確認傳入參數為何為 null。

常見來源

  • ViewBag/ViewData 未在 Controller 設值就直接在 View 取用。
  • FindControl 回傳 null 卻直接 .Text。
  • Entity Framework 導航屬性未 Include 載入(Lazy Loading 關閉時)。
  • Session/Application/Cache 取值未判斷 null。

防禦性編程

// C# 6.0+ null 條件運算子
var name = user?.Profile?.Name ?? "Guest";
// 或傳統判斷
if (obj != null) { obj.DoSomething(); }
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved