Global Kivétel kezelése az WinForms ellenőrzés

szavazat
33

Amikor dolgozik ASP.NET 1.1 projekt én mindig a Global.asax fogni az összes hibát. Keresem hasonló módon fogni az összes kivételt a Windows Forms felhasználói ellenőrzés, ami végül is a szálló IE ellenőrzés. Mi a helyes út csinál valamit, mint ez?

A kérdést 05/08/2008 21:05
a forrás felhasználó
Más nyelveken...                            


5 válasz

szavazat
24

Meg kell kezelni a System.Windows.Forms.Application.ThreadExceptionrendezvény Windows Forms. Ez a cikk tényleg segített: http://bytes.com/forum/thread236199.html .

Válaszolt 05/08/2008 21:11
a forrás felhasználó

szavazat
11

Jelenleg én WinForms app van rakodók Application.ThreadException, mint fent, hanemAppDomain.CurrentDomain.UnhandledException

Most kivételt keresztül érkezik a ThreadExceptionfelvezető, de a AppDomain egy is fogott egy pár az én tapasztalatom

Válaszolt 05/08/2008 21:42
a forrás felhasználó

szavazat
6

Ha használja VB.NET, akkor érintse meg a nagyon kényelmes ApplicationEvents.vb. Ez a fájl jön ingyen a VB.NET WinForms projekt tartalmaz kezelésére szolgáló eljárás nem kezelt kivételeket .

Ahhoz, hogy ezt a remek fájlt, hogy a „Project Properties >> Application >> Alkalmazás események”

Ha nem használja a VB.NET, akkor igen, ez kezelési Application.ThreadException .

Válaszolt 05/08/2008 21:16
a forrás felhasználó

szavazat
3

A kivételek kezelése világszerte ...

windows alkalmazás

System.Windows.Forms.Application.ThreadException esemény

Általánosan használt fő módszer. Lásd MSDN Thread Exception

Asp.Net

System.Web.HttpApplication.Error esemény

Szokásosan használt Global.asax fájlt. Lásd MSDN Global.asax Global kezelők

konzol Application

System.AppDomain.UnhandledException esemény

Általánosan használt fő módszer. Lásd MSDN UnhandledException

Válaszolt 19/05/2015 11:36
a forrás felhasználó

szavazat
2

Kód 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 
Válaszolt 27/09/2013 22:55
a forrás felhasználó

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