Win kontrolü için Küresel durum işleme

oy
33

ASP.NET 1.1 projeler üzerinde çalışırken hep tüm hataları yakalamak için Global.asax kullandı. Bir Windows tüm özel durumları yakalamak için benzer bir yol arıyorum barındırılan IE kontrolü olmak biter kullanıcı kontrolünü, Forms. Böyle bir şey yapmayı gitmek için doğru yolu nedir?

Oluştur 05/08/2008 saat 21:05
kaynak kullanıcı
Diğer dillerde...                            


5 cevaplar

oy
24

Sen işlemek gerekir System.Windows.Forms.Application.ThreadExceptionWindows Forms olay. Bu makale gerçekten bana yardımcı: http://bytes.com/forum/thread236199.html .

Cevap 05/08/2008 saat 21:11
kaynak kullanıcı

oy
11

Şu anda benim Win ben işleyicileri var app Application.ThreadExceptionayrıca yukarıdaki gibi, fakatAppDomain.CurrentDomain.UnhandledException

Çoğu istisnalar yoluyla gelen ThreadExceptionişleyicisi ama AppDomain biri de benim durumumda bir kaç yakaladı

Cevap 05/08/2008 saat 21:42
kaynak kullanıcı

oy
6

Eğer VB.NET kullanarak ediyorsanız, çok uygun ApplicationEvents.vb içine dokunabilirsiniz. Bu dosya, bir VB.NET WinForms proje ile ücretsiz olarak gelir ve işleme için bir yöntem içerir işlenmemiş özel durumlar .

Bu şık dosyasına ulaşmak için, bu kadar "Proje Özellikleri >> Başvuru >> Uygulama Etkinlikleri"

Eğer VB.NET kullanmıyorsanız, o zaman evet, başa çıkıyor Application.ThreadException .

Cevap 05/08/2008 saat 21:16
kaynak kullanıcı

oy
3

Küresel İstisnalar Kolu için ...

Windows Uygulama

System.Windows.Forms.Application.ThreadException olay

Genellikle Ana Yöntemi kullanılır. Bakınız MSDN Konu İstisna

Asp.Net

System.Web.HttpApplication.Error olay

Normalde Global.asax dosyasında kullanılır. Bakınız MSDN Global.asax Küresel Eylemciler

Konsol uygulaması

System.AppDomain.UnhandledException olay

Genel olarak ana yöntem kullanılır. Bakınız MSDN UnhandledException

Cevap 19/05/2015 saat 11:36
kaynak kullanıcı

oy
2

MSDN'den Kodu: 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 
Cevap 27/09/2013 saat 22:55
kaynak kullanıcı

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