iT邦幫忙

DAY 6
2

我的.Net之路系列 第 6

NullReferenceException

初學常見的錯誤訊息
「並未將物件參考設定為物件的執行個體」這個錯誤訊息常常在各論壇被提起,產生這個錯誤的原因多半是因為對執行個體的認知不夠深入或是在ASP.NET上對於網頁生命週期不夠瞭解所致。
這問題其實滿困擾人的,尤其是對初學者而言,說真格的,我有時候程式呼叫的方法複雜時也會被這搞的暈頭轉向。
遇到這種狀況時,其實就要由錯誤發生的程式碼位置開始往前推,仔細找出這個執行個體應該在何時被產生,比方說你可能宣告了一個參考物件,但卻忘了用New關鍵字去產生執行個體,看的比較多這類的問題通常是物件陣列,所以記得物件陣列是要一個一個元素去建立執行個體的。另一種比較難搞的就是當程式碼呼叫了A執行個體的A1方法,而A1方法中又建立另一個類別的執行個體B,B的B1方法又有另一個類別的執行個體.....,這種情形如果使用Try-Catch不當,使得在某一個方法中傳回了Null參考,就有可能在主程式中發出「並未將物件參考設定為物件的執行個體」這個錯誤訊息,而這種錯誤要除錯就會變的比較困難,也就是說當你的程式很複雜而發生這種狀況的時候,從有機會傳回Null (在VB.NET中叫Nothing)參考的那個方法着手會容易找一些。


上一篇
我是如何更瞭解物件導向的精神
下一篇
使用參數化查詢
系列文
我的.Net之路31

尚未有邦友留言

立即登入留言