[ASP.NET MVC] Manejando errores con HandleError

Posted on Actualizado enn


Hola a todos, existe varias formas de maneras para manejar errores en aplicaciones Web, así como herramientas que permiten realizar log de los mismos como Log4Net, Enterprise Library o el escribir código y crear un pequeño manejador; sin embargo hoy quiero mostrarles otra forma de manejar errores, el cual es bastante sencillo.

Cuando se quiere manejar algún error, generalmente se utiliza un bloque try-catch, así por ejemplo para controlar el caso de una división por cero una aproximación podría ser:

try
{
//código
}
catch (DivideByZeroException ex)
{
//manejo del error
}

Ahora, ASP.NET MVC ofrece una forma de realizar un manejo parecido a estos errores y es usando el atributo HandleError, siguiendo con el mismo ejemplo de la división por cero, la implementación de HandleError en una acción sería algo así:

[HandleError(ExceptionType = typeof(DivideByZeroException), View = "OperationError")]
public ActionResult Index()
{
    var num2 = 0;
    var result = 5 / num2;
    return View(result);
}

Allí se usan dos parámetros, ExceptionType para especificar el tipo de la excepción y View par definir la vista a la cual se debe re direccionar cuando ocurra el error, un punto bastante interesante es que el atributo HandleError se puede aplicar a nivel de acción y de controlador.

Espero les sea interesante el post, les dejo el código para que lo descargue, saludos!

Descarga el ejemplo!

Un comentario sobre “[ASP.NET MVC] Manejando errores con HandleError

    […] [ASP.NET MVC] Manejando errores con HandleError […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s