Quel est l'exception qui permet de lancer une Tâche.ThrowIfExceptional?
J'ai une application windows forms développées avec le C# et .NET Framework 4.0 qui exécute la Tâche.
Je suis désolé de poser cette question mais je ne sais pas si une exception se produire. C'est la trace de la pile:
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()
Je pense que l'exception renvoyée est: est-ce
Object reference not set to an instance of an object.
at MyCompany.Dispositivos.Plugins.TICAnKorr.VisorTICAnKorrMini.MensajeEstado()
Quelle est la véritable exception?
Si ce n'est pas le bon endroit pour poser cette question, dites-le moi et je le supprimer.
Je ne demande pas quelle est la signification de Object reference not set to an instance of an object.
, je le sais, je me demande si ce l'exception qui rend la tâche de jeter un System.Threading.Tasks.Task.ThrowIfExceptional
.
Vous pouvez pas déboguer le code?
Non, je ne peux pas le corriger. C'est une production du journal.
Voici une astuce: Déployer Pdb à la production et au journal le plein exception ToString. Qui vous donne plus d'informations sur l'erreur.
Non, je ne peux pas le corriger. C'est une production du journal.
Voici une astuce: Déployer Pdb à la production et au journal le plein exception ToString. Qui vous donne plus d'informations sur l'erreur.
OriginalL'auteur VansFannel | 2015-09-10
Vous devez vous connecter pour publier un commentaire.
Ce qui se passe lorsque vous exécutez une action de retour une
Task
est que toutes les exceptions sont stockés int la tâcheTask.Exception
propriété.Lorsque vous appelez
Wait
, le code attend pour la fin de la tâche, puis re-lève toutes les exceptions qui ont eu lieu à l'intérieur d'unAggreagtedException
. Ainsi, leThrowIfExceptional
méthode est appelée après que la tâche a fini de soulever toutes les exceptions qui ont eu lieu.Donc probable que le problème est une référence nulle dans tout ce code ont été exécutés à renvoyer la tâche attendu. Devrait être quelque chose à l'intérieur:
OriginalL'auteur Ned Stoyanov