Cómo: Controlar errores en una página
Actualización: noviembre 2007
Este ejemplo de código muestra un controlador para el evento Error de una página Web de ASP.NET. El controlador captura todas las excepciones no controladas de la página actual. En otras palabras, todos los errores que no se detectan con un bloque Try/Catch.
Ejemplo
Private Sub Page_Error(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles MyBase.Error
Response.Write("An application error has been logged.")
ApplicationSpecificErrorLogger(Server.GetLastError().Message)
Server.ClearError()
End Sub
private void Page_Error(object sender, EventArgs e)
{
Response.Write("An application error has been logged.");
ApplicationSpecificErrorLogger(Server.GetLastError().Message);
Server.ClearError();
}
Compilar el código
Para este ejemplo se necesita:
Una página Web de ASP.NET.
Una función de registro de errores específica de la aplicación.
Programación eficaz
Es preferible utilizar bloques Try/Catch alrededor de cualquier código sujeto a errores, en lugar de confiar en un controlador de errores de la página.
No se puede mostrar información de error en un control (como Label), porque al llamar al controlador Error no se crean nuevas instancias de los controles en la página.
Después de controlar un error, debe borrarlo mediante una llamada al método ClearError del objeto Server (clase HttpServerUtility).
Seguridad
Utilice <customErrors> (Elemento) para restringir la visualización de los mensajes de error detallados únicamente a los usuarios locales.
Asegúrese de no mostrar información de error que pueda ayudar a algún usuario malintencionado a poner en peligro el funcionamiento de la aplicación. Para obtener información detallada, vea Cómo: Mostrar mensajes de error seguros.