Παγκόσμια Χειρισμός Εξαίρεση για τον έλεγχο WinForms

ψήφοι
33

Κατά την εργασία σε ASP.NET 1.1 έργα που χρησιμοποίησα πάντα την Global.asax να πιάσει όλα τα σφάλματα. Ψάχνω για ένα παρόμοιο τρόπο για να πιάσει όλες τις εξαιρέσεις σε έναν υπολογιστή με Windows Έντυπα ελέγχου του χρήστη, η οποία καταλήγει να είναι μια φιλοξενούμενη έλεγχο IE. Ποιος είναι ο σωστός τρόπος να πάει για να κάνει κάτι τέτοιο;

Δημοσιεύθηκε 05/08/2008 στις 21:05
πηγή χρήστη
Σε άλλες γλώσσες...                            


5 απαντήσεις

ψήφοι
24

Θα πρέπει να χειριστεί την System.Windows.Forms.Application.ThreadExceptionεκδήλωση για τα Windows Forms. Το άρθρο αυτό με βοήθησε πολύ: http://bytes.com/forum/thread236199.html .

Απαντήθηκε 05/08/2008 στις 21:11
πηγή χρήστη

ψήφοι
11

Σήμερα στην WinForms μου app που έχω χειριστές για την Application.ThreadException, όπως παραπάνω, αλλά καιAppDomain.CurrentDomain.UnhandledException

Οι περισσότερες εξαιρέσεις φθάνουν μέσω του ThreadExceptionχειριστή, αλλά η AppDomain κάποιος έχει επίσης αλιεύονται μερικά από την εμπειρία μου

Απαντήθηκε 05/08/2008 στις 21:42
πηγή χρήστη

ψήφοι
6

Αν χρησιμοποιείτε VB.NET, μπορείτε να πατήσετε στο πολύ βολικό ApplicationEvents.vb. Αυτό το αρχείο έρχεται δωρεάν με ένα πρόγραμμα WinForms VB.NET και περιέχει μια μέθοδο για την αντιμετώπιση unhandled εξαιρέσεις .

Για να φτάσει σε αυτό το ικανό αρχείο, είναι το «Project Properties >> Αίτηση >> Εκδηλώσεις Εφαρμογή»

Εάν δεν χρησιμοποιείτε VB.NET, τότε ναι, αυτό είναι το χειρισμό Application.ThreadException .

Απαντήθηκε 05/08/2008 στις 21:16
πηγή χρήστη

ψήφοι
3

Για την αντιμετώπιση εξαιρέσεων παγκόσμιο επίπεδο ...

εφαρμογών των windows

γεγονός System.Windows.Forms.Application.ThreadException

Γενικά χρησιμοποιούνται σε σταθμούς μέθοδο. Ανατρέξτε MSDN Θέμα Εξαίρεση

Asp.Net

γεγονός System.Web.HttpApplication.Error

Κανονικά Χρησιμοποιείται σε αρχείο Global.asax. Ανατρέξτε MSDN Global.asax Παγκόσμια χειριστές

Κονσόλα Εφαρμογή

γεγονός System.AppDomain.UnhandledException

Γενικά χρησιμοποιείται στην κύρια μέθοδος. Ανατρέξτε MSDN UnhandledException

Απαντήθηκε 19/05/2015 στις 11:36
πηγή χρήστη

ψήφοι
2

Κωδικός από το 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 
Απαντήθηκε 27/09/2013 στις 22:55
πηγή χρήστη

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