我有一个使用C#和.NET Framework 4.0运行任务开发的
Windows窗体应用程序.
我很抱歉问这个问题,但我不知道发生异常的地方.这是堆栈跟踪:
One or more errors occurred. at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,CancellationToken cancellationToken) at MyCompany.Dispositivos.Plugins.TICAnKorr.DeviceTICAnKorr.StopLive() at MyCompany.Dispositivos.Plugins.TICAnKorr.VisorTICAnKorrMini.StopRemote() at MyCompany.Dispositivos.InterfazDispositivos.ICBaseVisor.DesasociarDispositivo() at MyCompany.Dispositivos.InterfazDispositivos.ControlMosaico.DesasociarTodosLosPaneles() at MyCompany.Dispositivos.InterfazDispositivos.ControlMosaico.CrearControlSeleccionado(DeviceBase device) at MyCompany.Dispositivos.InterfazDispositivos.ControlMosaico.icPanelViewer_MouseDown(Object sender,MouseEventArgs e) at System.Windows.Forms.Control.OnMouseDown(MouseEventArgs e) at System.Windows.Forms.UserControl.OnMouseDown(MouseEventArgs e) at MyCompany.Dispositivos.InterfazDispositivos.VisorDeMosaico.mousedown(Object sender,MouseEventArgs e) at System.Windows.Forms.Control.OnMouseDown(MouseEventArgs e) at System.Windows.Forms.UserControl.OnMouseDown(MouseEventArgs e) at MyCompany.BasicInterface.Controles_Basicos.ICLabel.lblText_MouseDown(Object sender,MouseEventArgs e) at System.Windows.Forms.Control.OnMouseDown(MouseEventArgs e) at System.Windows.Forms.Control.WmMouseDown(Message& m,MouseButtons button,Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.Label.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) Object reference not set to an instance of an object. at MyCompany.Dispositivos.Plugins.TICAnKorr.VisorTICAnKorrMini.MensajeEstado() at MyCompany.Dispositivos.Plugins.TICAnKorr.VisorTICAnKorrMini.m_DispositivoAsociado_NewResult(Object sender) at MyCompany.Dispositivos.ConexionesDispositivos.NewResultsEventHandler.Invoke(Object sender) at MyCompany.Dispositivos.ConexionesDispositivos.DeviceBase.OnNewResult() at MyCompany.Dispositivos.Plugins.TICAnKorr.DeviceTICAnKorr.HiloCaptura() at MyCompany.Dispositivos.ConexionesDispositivos.DeviceBase.<StartLive>b__9() at System.Threading.Tasks.Task.InnerInvoke() at System.Threading.Tasks.Task.Execute()
我认为抛出的异常是这样的:
Object reference not set to an instance of an object. at MyCompany.Dispositivos.Plugins.TICAnKorr.VisorTICAnKorrMini.MensajeEstado()
什么是真正的例外?
如果这不是提出这个问题的正确位置,请告诉我并删除它.
我不是问对象引用没有设置为对象实例的含义是什么.我知道,我问这是否是使得任务抛出System.Threading.Tasks.Task的异常. ThrowIfExceptional.
解决方法
执行返回Task的操作时会发生什么,任何异常都存储在任务的Task.Exception属性中.
当您调用Wait时,代码等待任务完成,然后重新抛出AggreagtedException内发生的任何异常.因此,在任务完成后调用ThrowIfExceptional方法以引发已发生的任何异常.
很可能问题是在执行任何代码时返回正在等待的任务的空引用.应该是内在的东西:
MyCompany.Dispositivos.Plugins.TICAnKorr.DeviceTICAnKorr.StopLive()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。