如何处理:框架方法中的“空引用异常”

时间:2019-07-18 15:06:23

标签: vb.net charts

我编写了一个数据获取软件,该数据将数据存储在多个表中,并使用Forms.DataVisualization.Charting.Chart对象绘制此数据。 为了指出特殊事件,我使用StripLines。 该软件使用MyApplication_UnhandledException事件捕获所有未处理的异常,并将异常信息保存到日志文件中。

不幸的是,我得到了一个“ NullReferenceException”,它似乎已经抛出了一个框架方法:

System.NullReferenceException: Object reference not set to an instance of an object.
   at System.Windows.Forms.DataVisualization.Charting.StripLine.PaintTitle(ChartGraphics graph, PointF point1, PointF point2)
   at System.Windows.Forms.DataVisualization.Charting.StripLine.Paint(ChartGraphics graph, CommonElements common, Boolean drawLinesOnly)
   at System.Windows.Forms.DataVisualization.Charting.Axis.PaintStrips(ChartGraphics graph, Boolean selectionMode, Int32 x, Int32 y, Object& obj, Boolean drawLinesOnly)
   at System.Windows.Forms.DataVisualization.Charting.Axis.PaintStrips(ChartGraphics graph, Boolean drawLinesOnly)
   at System.Windows.Forms.DataVisualization.Charting.ChartArea.Paint(ChartGraphics graph)
   at System.Windows.Forms.DataVisualization.Charting.ChartPicture.Paint(Graphics graph, Boolean paintTopLevelElementOnly)
   at System.Windows.Forms.DataVisualization.Charting.Chart.OnPaint(PaintEventArgs e)
   at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
   at System.Windows.Forms.Control.WmPaint(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

原则上,我知道NullReferenceException的原因以及如何处理,但是在这种特殊情况下,由于以下原因,我有些茫然: -我不知道应该检查哪个对象为空 -我应该在代码的哪一点进行检查 -在哪里放置尝试捕获块 因为所有堆栈都不在 my 代码内。

此外,我还要提到数据获取是在Backgroundworker线程中运行的。

不幸的是,该异常不可复制/我不知道该用户在引发异常之前做了什么。

我知道这些不是调试的最佳条件,但是如果有人有想法,那将是很好的 -造成此异常的原因(例如,布置的带状线或图表对象) -以及如何避免或至少处理此类目标站点的异常?

Thx, 马库斯

0 个答案:

没有答案