Experiencias de un programador curioso del SEO
Entradas etiquetadas con gestion de errores
Custom exceptions en C#
14 ene
En ocasiones queremos lanzar custom exceptions que nos permitan lanzar errores personalizados cuando por ejemplo se ha hecho una llamada al servidor con un parametro incorrecto pero no queremos utilizar una de las excepciones predefinidas ya que queremos guardar y generar más información sobre la excepción. En este articulo os dejo un ejemplo de como crear nuestro propio custom exception en c#.
public class MyCustomException : ApplicationException
{
public MyCustomExceptionException(string message)
: base(message)
{
}
}
Cuando queremos usar nuestro custom exception en la creación de un error controlado lo hariamos de la siguiente forma:
throw new MyCustomException("Mensaje de error customizado");
Podriamos usarlo en el control de errores mediante la captura de errores en global.asax redirigiendolos a una página creada para gestionar los mensajes de error a nuestros usuarios:
protected void Application_Error(Object sender, EventArgs e)
{
if (Context != null && Context.IsCustomErrorEnabled)
{
Server.Transfer("~/Error.aspx", false);
}
}
Una vez redirigo el error podriamos usarlo de la siguiente forma:
Exception ex = Server.GetLastError();
if (ex != null)
{
Exception innerException = ex.InnerException;
if (innerException != null)
{
if (innerException is MyCustomException)
{
HttpContext.Current.Response.StatusCode = 401;
this.lblError.Text = ex.Message;
}
}
Espero que os sea útil y como siempre para vuestra comodida tambien en pastebin.