.NET Zentrale Fehlerbehandlung

Hallo zusammen,

ich habe ein kleines Problem mit diesem Code (VB.NET):

Code:
Module Main
  Public Sub Main()
     AddHandler Application.ThreadException, AddressOf ErrHandler
     Application.Run(New MainForm)
  End Sub
 
  Private Sub ErrHandler(ByVal sender As Object, ByVal e As System.Threading.ThreadExceptionEventArgs)
     MsgBox(e.Exception.Message.ToString, MsgBoxStyle.Critical Or MsgBoxStyle.OKOnly, "Error")
     Application.Exit()
  End Sub
End Module

Nun zum Problem, und zwar funktioniert es einfach nicht.
Wenn ein unbehandelter Fehler in der MainForm auftritt springt er nicht in die "Sub ErrHandler".
Weiß vielleicht einer wieso?

Wäre sehr dankbar für Hilfe.

MfG aafreak

Edit: Übrigens, ich benütze "Microsoft Visual Basic Express 2005", falls das hilft.
 
Hmmm, bist du dir sicher, dass es ohne try catch geht? Ich nutze zwar wenn dann C#, aber da wäre mir solch ein Konstrukt wie du es verwendest nicht bekannt. Da läuft (soweit ich das bisher in Erfahrung bringen konnte) eigentlich alles mit try catch und da die beiden Sprachen ja doch verwand sind, könnte ich mir das bei dir als Fehler vorstellen

--- edit ---

Oh, scheint doch zu gehen. Hab bei google grad was interessantes gefunden: http://vbcity.com/forums/faq.asp?fid=15&cat=Error+Handling&#TID56739

Danach brauchst du aber 2 Handler.
 
Es funktioniert jetzt, danke für den Link.
Bei mir fehlte das:
Code:
Dim currentDomain As AppDomain = AppDomain.CurrentDomain
AddHandler currentDomain.UnhandledException, AddressOf ErrHandlerDomain

Vielen dank noch mal.

MfG aafreak
 
Zurück
Oben