
如題,用C#獲取ABB機器人位姿的兩句代碼,一直出錯,入門菜鳥一只,望大神指教,感激不盡
uj5u.com熱心網友回復:
某個物件為null,然后繼續呼叫它的方法時會出現這個例外。uj5u.com熱心網友回復:
除錯時,滑鼠移動到指定變數時,可以查看該變數的值。比如你這個移動到Rapid可以查看它是否為null,如果為null,就檢查它為null的原因,如果不為null,則是后面3個Get...的方法其中一個為null。因此,建議方法分開寫以便除錯,不要養成連寫呼叫方法的習慣,除非你能保證方法的回傳值一定不是null,否則很容易報你這個錯誤,無法排查哪個為null值。可修改代碼為:
var rapid = objController.Rapid;
var trobi = rapid.GetTask("T_ROBI");
var rob = trobi.GetModule("RobMoudle");
var data = rob.GetRapidData("main");
然后可以逐行排查rapid/trobi/rob/data哪個是null,而確定問題發生的原因。
uj5u.com熱心網友回復:
好詳細,謝謝你,太感謝了,我試試
uj5u.com熱心網友回復:
http://www.cnblogs.com/alexis/archive/2010/11/06/1870519.html或者 物件?.屬性 ?表示可控判斷。
uj5u.com熱心網友回復:
. 點的太多,斷點除錯,滑鼠挨個指向每一個.點的位置,看哪里是null,然后再檢查為啥會nulluj5u.com熱心網友回復:
謝謝,這篇除錯學習到了
uj5u.com熱心網友回復:
好噠,謝謝你
,C#剛用,代碼還是從別的例子中仿的,太艱辛了
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/94838.html
標籤:C#
上一篇:想做個花生分屏王一樣的單屏多軟體分屏的程式,有案例嗎?
下一篇:C#執行緒學習筆記四:執行緒同步
