C# 抛出Task.ThrowifeException的异常是什么?

C# 抛出Task.ThrowifeException的异常是什么?,c#,exception,task,C#,Exception,Task,我有一个用C#和.NETFramework4.0开发的windows窗体应用程序,运行的是Task 很抱歉问这个问题,但我不知道哪里会发生异常。这是堆栈跟踪: One or more errors occurred. at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 mill

我有一个用C#和.NETFramework4.0开发的windows窗体应用程序,运行的是Task

很抱歉问这个问题,但我不知道哪里会发生异常。这是堆栈跟踪:

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()
真正的例外是什么

如果这不是问这个问题的合适地方,请告诉我,我将其删除


我不是问未设置为对象实例的
对象引用的含义是什么。
,我知道,我是问这是否是导致任务抛出
系统.Threading.Tasks.task.throwifeexceptional的异常

执行返回
任务的操作时发生的情况是,任何异常都存储在任务的
任务.Exception
属性中

调用
Wait
时,代码会等待任务完成,然后重新抛出
AggreagtedException
中发生的任何异常。因此,在任务完成后将调用
throwifeexceptional
方法来引发任何已发生的异常

因此,问题很可能是执行任何代码以返回正在等待的任务时都会出现空引用。里面应该有东西:

 MyCompany.Dispositivos.Plugins.TICAnKorr.DeviceTICAnKorr.StopLive()

这可能是因为类中的某些变量为null,并且也没有被处理。我知道您说过您知道错误,但最近我遇到了这个错误,我的解决方案是将运算符“?”放在可能为空的变量中。

您不能调试代码吗?不,我不能调试它。这是一个生产日志。这里有一个提示:将PDB部署到生产中,并将完整异常记录到字符串中。这将为您提供有关错误的更多信息。
 MyCompany.Dispositivos.Plugins.TICAnKorr.DeviceTICAnKorr.StopLive()