practices practice handling exceptions example custom create best c# .net asp.net exception error-handling

c# - practice - Captura de excepciones dentro de las páginas.aspx y.ascx



throw custom exception c# (5)

¿Quieres atrapar la excepción y manejarla?

¿O quieres evitar la pantalla amarilla de la muerte? Si está tratando de evitar la pantalla amarilla de la muerte, consulte cómo manejar el evento de Error en la aplicación HttpApplication (en otras palabras, en su Global.asax).

Consulte la siguiente página de MSDN para obtener más detalles: http://msdn.microsoft.com/en-us/library/system.web.httpapplication.error.aspx

Específicamente este párrafo:

Se puede acceder a la excepción que provoca el evento Error mediante una llamada al método GetLastError. Si su aplicación genera salida de error personalizada, suprima el mensaje de error predeterminado generado por ASP.NET mediante una llamada al método ClearError.

Las preguntas lo dicen todo, toma este código de ejemplo:

<ul id="css-id"> <li> <something:CustomControl ID="SomeThingElse" runat="server" /> <something:OtherCustomControl runat="server" /> </li> </ul>

Ahora bien, si se arroja un error en algún lugar dentro de estos controles (que están ubicados en una página maestra), se eliminará todo el sitio, ¿cómo se detectarían estas excepciones?


Agregue un global.asax en implementar el controlador Application_Error. Use la función Server.GetLastError () para controlar la excepción lanzada.


Desafortunadamente, una excepción no controlada siempre generará un error en su sitio. Sin embargo, puedes evitar esto de varias maneras.

  • Use la sección en su web.config para mostrar un mensaje fácil de usar
  • En su Global.asax, o un controlador personalizado, capture su excepción no controlada y reaccione en consecuencia, como esta

mejor solución

  • ¡Asegúrate de que los controles no arrojen excepciones no controladas!

Puede ver todas las excepciones que no se manejan en ninguna otra parte de la página / clase Global.asax. Mirar:

protected void Application_Error(Object sender, EventArgs e)

método.