Cargando



Manejo de errores en el controlador de ASP.NET MVC

En este tutorial veremos en que consiste hacer el manejo de errores dentro de los controladores en una aplicación hecha con ASP.NET MVC.


nov 07 2014 02:32
Avanzado
nov 19 2014 11:46
El manejo de los errores es algo crucial dentro de una aplicación, es lo que nos permite hacer las transiciones de forma fluida cuando ocurren problemas, además de evitar que el uso de la aplicación por parte del usuario sea infructuoso.

Si bien podemos definir una página personalizada para los errores a veces esto no es suficiente, hay casos en los que podemos dar otras opciones al usuario y por tanto debe llevar un manejo diferente y aquí es donde entra poder hacer dicho manejo de los errores directamente en los controladores.

Manejo de errores en el controlador


Como mencionamos al inicio podemos establecer un manejo personalizado de errores a nivel general, sin embargo hay situaciones que ameritan un caso especial, es por ello que podemos habilitar el manejo de errores dentro de los controladores.

¿Cómo hacerlo?
Para esto contamos con un método que nos permite especificar qué tipo de error va a capturar mediante un atributo y luego podemos definir si lo aplicamos directamente sobre un método o sobre el controlador en toda su extensión; finalmente en caso que ocurra un error del que hemos especificado el atributo, caerá en el manejador y nos enviará a la vista que hayamos definido para tal fin.


En la siguiente imagen vemos cómo podemos aplicar el manejo de errores directamente contra una acción del controlador:


Aquí podemos fijarnos que la primera línea definimos el manejador de errores y le decimos a través de un atributo el tipo de error que debe esperar, luego le decimos que vista debe invocar cuando ocurre, finalmente definimos la acción de nuestro controlador normalmente.

Ahora si lo que realmente necesitamos es que todos los errores de ese tipo sean enviados a esa vista que definimos, no vale la pena copiar el mismo código una y otra vez por cada acción que pueda verse afectada, para ello podemos definir el manejo de errores para todo el controlador como vemos en la siguiente imagen:

asp-errores-controlador2.jpg


Si somos observadores notaremos que es la misma estructura que acabamos de ver, la única diferencia es que en vez de aplicar el manejador antes de una acción lo estamos haciendo justo antes del controlador, con lo que las acciones contenidas del controlador caen bajo el alcance o el ámbito de nuestro manejador de errores personalizado.

Usar ExceptionType
Lo que si debemos tener claro es poder saber el tipo de excepción que realmente deseamos capturar para poder definir dentro del atributo ExceptionType, ya que esa es la clave para poder obtener el funcionamiento adecuado de nuestra nueva sección.


En la vista que definamos podemos decidir entre mostrarle un mensaje al usuario o tal vez presentar algunas acciones que pueda realizar como por ejemplo enviar un mensaje de reporte o tal vez devolverlo a que repita su acción nuevamente, todo esto dependiendo de nuestros intereses.

Con esto hemos finalizado este tutorial, hemos aprendido a generar un manejo mucho más personalizado de los errores, donde podemos capturar diferentes errores según las acciones o incluso por controladores.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X