Manejo de errores personalizados web.config
El manejo de errores en un sitio de ASP.Net se puede implementar desde la web.config personalizados a los diferentes códigos http.
Comúnmente vamos al programar una pantalla blanca con muchas letras cuando se genera un error. Este tipo de pantalla no se le puede mostrar al usuario, si no que se cambia por una imagen o leyenda más amigable.
Para los ejemplos siguientes crea o abre un proyecto web ASP.Net WebForm en Visual Studio.
Error del servidor
Antes que nada, veamos cómo se muestran los mensajes de error sin personalizar, estos mensajes son desplegadas por el servidor.
En el archivo default del proyecto agregamos un código para provocar un error de conversión, por ejemplo, el siguiente código.
int res = Convert.ToInt32("Hola");
Ejecuta la aplicación, la cadena de entrada no es un valor numérico por lo tanto se muestra la siguiente pantalla en el explorador web.
Como pueden notar es un mensaje que no se puede mostrar al usuario, vamos a ver como personalizar el mensaje de error.
Podría interesarte Sentencia para manejo de errores Try-Catch en C#
Manejar errores en web.config
Desde la web.config vamos a personalizar los mensajes de error http mas comunes en las aplicaciones web.
Abrimos la web.config y buscamos las siguientes etiquetas.
<configuration>
<system.web>
<!--Codigo para administrar errores-->
</system. Web>
</configuration>
Entre las etiquetas de system.web colocamos el código siguiente para personalizar los errores.
<configuration>
<system.web>
<customErrors mode="On" defaultRedirect="error.aspx">
<error statusCode="404" redirect="error.aspx?404" />
</customErrors>
</system. Web>
</configuration>
- Mediante la etiqueta customErrors agregamos los mensajes de error personalizados.
- La propiedad mode con valor On todos los errores se capturan y se mandan a la pagina error.aspx. Si se establece el modo como Off se visualizará la pantalla por defecto para errores.
- Dentro de las etiquetas customErrors se agregan los errores http a capturar, por ejemplo, el error 404.
- Con la etiqueta error agregamos el error, statusCode definimos el valor del error http, al capturarse se envía a la página colocada en redirect.
Crea la pagina error.aspx y agrega algún contenido que indique que surgió algún problema.
Ejecuta el proyecto junto con el error colocado para ver como funciona el administrador de errores.
En mi caso en la página error.aspx únicamente coloque un mensaje, puedes ver que ya no aparece todo el texto del error que mandaba el servidor.
Podría interesarte Configurar web.config para enviar correos en ASP.Net
Para los programadores es importante ver los mensajes de error del servidor, establecemos como Off la etiqueta customErrors y activamos en On al poner a disposición del usuario.