Cuando una excepción no se detecta en una aplicación .NET, la máquina virtual muestra un mensaje de error al usuario. Me gustaría poder mostrar mi propio mensaje de error, sin tener que poner un bloque catch
en el nivel superior de mi aplicación (porque eso hace que las excepciones no detectadas sean más aburridas).¿Cómo puedo anular el diálogo de excepción no capturado por defecto?
Ahora mismo muestro mi propio cuadro de diálogo de error en un detector de eventos AppDomain.UnhandledException
, pero el diálogo creado con .NET aún aparece. También me gustaría evitar Environment.FailFast
ya que eso pasaría por alto mis bloques finally
(a los que todavía estoy un poco apegado).
Esa es una característica del JIT. No estoy seguro de que haya una manera de modificarlo ... –
Probablemente crearía una variable de configuración del modo de producción/modo de desarrollo para alternar entre ver su propio cuadro de diálogo (y captura) en el nivel superior y no verlo. También es una buena idea en general para la depuración ... –
Definitivamente es posible, recordé que Red Gate ha hecho algo en este campo. Ver esta [imagen] (http://www.red-gate.com/products/dotnet-development/smartassembly/assets/images/error_reporting_dialog.png) y el producto relacionado [página] (http: //www.red-gate.com/es/products/dotnet-development/smartassembly.asp) gate.com/products/dotnet-development/smartassembly/learn-more/screenshots). No estoy seguro de si tienen una versión gratuita, pero lo han hecho, ¡así que debe haber una forma! – oleksii