Pregunta

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, si se produce un error en algún lugar dentro de estos controles (que se encuentran en una página maestra), eliminarán todo el sitio, ¿cómo se podrían detectar estas excepciones?

¿Fue útil?

Solución

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

protected void Application_Error(Object sender, EventArgs e)

método.

Otros consejos

Lamentablemente, una excepción no controlada siempre generará un error en su sitio. Aunque puedes prevenir 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 en un controlador personalizado, detecte su excepción no controlada y reaccione en consecuencia - como este

la mejor solución

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

Agregue un global.asax y implemente el controlador Application_Error. Utilice la función Server.GetLastError () para obtener un identificador de la excepción lanzada.

Utilizando el método global.asax Application_Error, como se describe en Cómo crear páginas de informe de errores personalizadas en ASP. NET utilizando Visual C # .NET .

Un enfoque alternativo sería utilizar un módulo HTTP ; esto le brinda más flexibilidad (por ejemplo, puede manejar los errores de múltiples aplicaciones).

¿Desea capturar 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, vea cómo se maneja el evento Error en 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 genera el evento Error mediante una llamada al método GetLastError. Si su aplicación genera resultados de error personalizados, suprima el mensaje de error predeterminado generado por ASP.NET mediante una llamada al método ClearError.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top