? Me pregunto cuál es la mejor manera de tener un "si todo lo demás falla, póngalo"..NET: ¿Cuál es la mejor manera de implementar un controlador de excepciones "catch all"
quiero decir, que está manejando la mayor cantidad posible de excepciones en su aplicación, pero aún no están obligados a ser los insectos, por lo que necesita tener algo que capturas todas las excepciones no controladas para que pueda recoger y almacenar información en una base de datos o enviarlos a un servicio web.
¿El evento AppDomain.CurrentDomain.UnhandledException captura todo? Incluso si la aplicación es multiproceso?
Nota al margen: Windows Vista expone funciones API nativas que permiten a cualquier aplicación para recuperar sí mismo después de un accidente ... no se puede pensar en el nombre ahora ... pero prefiero no utilizarlo, ya que muchos de nuestros usuarios todavía usan Windows XP.
Es la función "Restart Manager" en Windows Vista: http://www.danielmoth.com/Blog/2006/10/vista-restart-manager.html – huseyint
Escribí una extensa publicación de blog sobre esto: [** Tengo que atraparlos a todos: manejo de excepciones de última oportunidad en .NET con WinForms **] (http://jonathonreinhart.blogspot.com/2013/03/gotta-catch-em-all-last-chance.html) –
See también [TaskScheduler.UnobservedTaskException] (https://msdn.microsoft.com/en-us/library/system.threading.tasks.taskscheduler.unobservedtaskexception%28v=vs.110%29.aspx). – HuBeZa