Gestion globale d'exception pour WinForms contrôle

voix
33

Lorsque vous travaillez sur ASP.NET 1.1 projets que j'ai toujours utilisé le Global.asax pour attraper toutes les erreurs. Je suis à la recherche d'une manière similaire à attraper toutes les exceptions dans un contrôle utilisateur Windows Forms, qui finit par être un contrôle IE hébergé. Quelle est la bonne façon d'aller faire quelque chose comme ça?

Créé 05/08/2008 à 21:05
source utilisateur
Dans d'autres langues...                            


5 réponses

voix
24

Vous devez gérer l' System.Windows.Forms.Application.ThreadExceptionévénement pour Windows Forms. Cet article m'a vraiment aidé: http://bytes.com/forum/thread236199.html .

Créé 05/08/2008 à 21:11
source utilisateur

voix
11

Actuellement mes WinForms app je gestionnaires pour Application.ThreadException, comme ci - dessus, mais aussiAppDomain.CurrentDomain.UnhandledException

La plupart des exceptions arrivent par le ThreadExceptiongestionnaire, mais celui AppDomain a également pris un peu mon expérience

Créé 05/08/2008 à 21:42
source utilisateur

voix
6

Si vous utilisez VB.NET, vous pouvez taper dans la ApplicationEvents.vb très pratique. Ce fichier est gratuit avec un projet WinForms VB.NET et contient une méthode de traitement des exceptions non gérées .

Pour accéder à ce fichier nifty, il est « Propriétés du projet >> >> application des événements d'application »

Si vous ne l' utilisez VB.NET, alors oui, il est la manipulation Application.ThreadException .

Créé 05/08/2008 à 21:16
source utilisateur

voix
3

Pour gérer les exceptions À l'échelle mondiale ...

windows application

événement System.Windows.Forms.Application.ThreadException

Généralement utilisé dans la méthode principale. Reportez - vous MSDN Discussion Exception

Asp.Net

événement System.Web.HttpApplication.Error

Normalement utilisé dans le fichier Global.asax. Reportez - vous MSDN Global.asax global Handlers

Application de la console

événement System.AppDomain.UnhandledException

Généralement utilisé dans le procédé principal. Reportez - vous MSDN UnhandledException

Créé 19/05/2015 à 11:36
source utilisateur

voix
2

Code de MSDN: http://msdn.microsoft.com/en-us/library/system.appdomain.unhandledexception.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2

Sub Main()
  Dim currentDomain As AppDomain = AppDomain.CurrentDomain
  AddHandler currentDomain.UnhandledException, AddressOf MyHandler

  Try 
     Throw New Exception("1")
  Catch e As Exception
     Console.WriteLine("Catch clause caught : " + e.Message)
     Console.WriteLine()
  End Try 

  Throw New Exception("2")
End Sub 

Sub MyHandler(sender As Object, args As UnhandledExceptionEventArgs)
  Dim e As Exception = DirectCast(args.ExceptionObject, Exception)
  Console.WriteLine("MyHandler caught : " + e.Message)
  Console.WriteLine("Runtime terminating: {0}", args.IsTerminating)
End Sub 
Créé 27/09/2013 à 22:55
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more