Aquí podría ser tu PUBLICIDAD


Manejo global de excepciones para control de winforms

votos
33

Al trabajar en proyectos de ASP.NET 1.1 siempre usé Global.asax para detectar todos los errores. Estoy buscando una forma similar de detectar todas las excepciones en un control de usuario de Windows Forms, que termina siendo un control alojado de IE. ¿Cuál es la forma correcta de hacer algo como esto?

Publicado el 05/08/2008 a las 21:05
fuente por usuario Alex
En otros idiomas...        العربية       

5 respuestas

votos
24

Necesita manejar el System.Windows.Forms.Application.ThreadExceptionevento para Windows Forms. Este artículo realmente me ayudó: http://bytes.com/forum/thread236199.html .

Respondida el 05/08/2008 a las 09:11
fuente por usuario Chris Leon


Aquí podría ser tu PUBLICIDAD


votos
11

Actualmente en mi aplicación de winforms tengo controladores para Application.ThreadException, como el anterior, pero tambiénAppDomain.CurrentDomain.UnhandledException

La mayoría de las excepciones llegan a través del ThreadExceptioncontrolador, pero AppDomain también ha atrapado algunas en mi experiencia

Respondida el 05/08/2008 a las 09:42
fuente por usuario Orion Edwards

votos
6

Si está utilizando VB.NET, puede acceder a los muy prácticos ApplicationEvents.vb. Este archivo viene de forma gratuita con un proyecto WinForms de VB.NET y contiene un método para manejar excepciones no controladas .

Para llegar a este archivo ingenioso, es "Propiedades del proyecto >> Aplicación >> Eventos de la aplicación"

Si no está usando VB.NET, entonces sí, está manejando Application.ThreadException .

Respondida el 05/08/2008 a las 09:16
fuente por usuario Brad Tutterow

votos
3

Para controlar las excepciones A nivel mundial ...

Aplicación para windows

evento System.Windows.Forms.Application.ThreadException

Generalmente se usa en el método principal. Consulte MSDN Excepción Tema

Asp.Net

evento System.Web.HttpApplication.Error

Normalmente se utiliza en el archivo Global.asax. Consulte MSDN Global.asax Global Manipuladores

Aplicación de consola

evento System.AppDomain.UnhandledException

Generalmente se usa en el método principal. Consulte MSDN UnhandledException

Respondida el 19/05/2015 a las 11:36
fuente por usuario Ajay

votos
2

Código 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 
Respondida el 27/09/2013 a las 10:55
fuente por usuario Aaron Hoffman