winforms - validate - vb net validating
Manejo global de excepciones para control de winforms (5)
Actualmente, en mi aplicación winforms tengo controladores para Application.ThreadException
, como el anterior, pero también AppDomain.CurrentDomain.UnhandledException
La mayoría de las excepciones llegan a través del controlador ThreadException
, pero el AppDomain uno también captó algunas en mi experiencia
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?
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
Para manejar excepciones globalmente ...
Aplicación de Windows
Evento System.Windows.Forms.Application.ThreadException
Generalmente se usa en el método principal. Consulte la excepción de subprocesos MSDN
Asp.Net
Evento System.Web.HttpApplication.Error
Normalmente utilizado en el archivo Global.asax. Consulte los controladores globales de MSDN Global.asax
Aplicación de consola
Evento System.AppDomain.UnhandledException
Generalmente se usa en el Método Principal. Consulte MSDN UnhandledException
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 msdn .
System.Windows.Forms.Application.ThreadException
manejar el evento System.Windows.Forms.Application.ThreadException
para Windows Forms. Este artículo realmente me ayudó: http://bytes.com/forum/thread236199.html .