如题,用C#获取ABB机器人位姿的两句代码,一直出错,入门菜鸟一只,望大神指教,感激不尽

解决方案 »

  1.   

    某个对象为null,然后继续调用它的方法时会出现这个异常。
      

  2.   

    调试时,鼠标移动到指定变量时,可以查看该变量的值。比如你这个移动到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,而确定问题发生的原因。
      

  3.   

    http://www.cnblogs.com/alexis/archive/2010/11/06/1870519.html
    或者 对象?.属性   ?表示可控判断。
      

  4.   

    . 点的太多,断点调试,鼠标挨个指向每一个.点的位置,看哪里是null,然后再检查为啥会null