我之前在遇到空指针异常时曾提出this问题。那时,事实上我看到的是IronPython中的一个错误。
现在我在使用第三方库(用C#编写)时再次遇到了这个错误。该库是DotSpatial库,结果我无意中在我的IronPython代码中创建了一种条件,导致了DotSpatial方法的副作用破坏。供参考的是调用和错误消息:
这个问题特别难以调试,因为问题不在我传递给其方法的myScheme对象或DataTable上,而是在我错误设置的myScheme的另一个属性上,我甚至不知道CreateCategories访问了它。为了找出问题,我不得不阅读DotSpatial的源代码。虽然我不太费劲,但我想知道是否有更简单的方法来调试此类错误?或者因为我正在使用IronPython和第三方库,所以只能面对糟糕的错误消息?
现在我在使用第三方库(用C#编写)时再次遇到了这个错误。该库是DotSpatial库,结果我无意中在我的IronPython代码中创建了一种条件,导致了DotSpatial方法的副作用破坏。供参考的是调用和错误消息:
>>> myScheme.CreateCategories(myLayer.DataSet.DataTable)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
SystemError: Object reference not set to an instance of an object.
这个问题特别难以调试,因为问题不在我传递给其方法的myScheme对象或DataTable上,而是在我错误设置的myScheme的另一个属性上,我甚至不知道CreateCategories访问了它。为了找出问题,我不得不阅读DotSpatial的源代码。虽然我不太费劲,但我想知道是否有更简单的方法来调试此类错误?或者因为我正在使用IronPython和第三方库,所以只能面对糟糕的错误消息?