Share via


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.

Vea también

Tareas

Cómo: Controlar errores en una aplicación