Desarrollo de Páginas Web, Aplicaciones Informáticas a medida, Posicionamiento Web en Internet (SEO), Accesibilidad web, Usabilidad

Imagen de la cabecera de www.webprogramacion.com
Inicio     Qué es webprogramacion.com     Mi currículum     Contacta conmigo    

Servicios

  • ¿Quieres aumentar el número de visitas de tu página web?
  • ¿Necesitas formación sobre algún tema tratado en webprogramacion.com?
  • ¿Quieres que imparta algún curso sobre algún tema tratado en la web?
  • ¿Quieres que revise la accesibilidad web de tu página?
  • ¿Buscas una aplicación a medida para tu empresa?
  • ¿Necesitas colaboración en tu proyecto?
  • Pide presupuesto sin compromiso
Escríbeme a través de la siguiente página y me pondré en contacto contigo.
webprogramacion.com > Programacion > C# > Gestión de errores

Gestión de errores (C#)

En muchas ocasiones es importante llevar una buena gestión de errores de nuestra aplicación.

En este artículo vamos a ver un ejemplo a la hora de desarrollar aplicaciones Windows Form. La idea es introducir el siguiente código en cada manejador de evento y cada método de nuestra aplicación, de tal forma que cuando se produzca un error no esperado, se enviará un informe por correo electrónico (por ejemplo, al responsable de la aplicación, para que pueda solucionar los problemas que la aplicación esté sufriendo).

En el ejemplo, vamos a ver el código que se usaría para gestionar los posibles errores a la hora de pulsar un botón llamado cmdEjemplo.

Inicialmente necesitaremos una clase llamada Email para poder enviar los informes de errores con el siguiente código:

using System;
using System.Net.Mail;
static class Email
{
   public static void sendEmail(String remitente, String destinatario, String asunto, String contenido)
   {
      MailMessage mensaje = new MailMessage("direccion_del_remitente", "direccion_del_destinatario");
      mensaje.IsBodyHtml = true;
      mensaje.Subject = asunto;
      mensaje.Body = contenido;
      mensaje.BodyEncoding = System.Text.Encoding.GetEncoding(1252);
      SmtpClient cliente_smtp;
      cliente_smtp = new SmtpClient("direccion_de_servidor_de_correo_smtp");
      cliente_smtp.Send(mensaje);
   }
}

y tendremos también una clase Errores, que llamaremos desde el catch de los manejadores de eventos y métodos de nuestra interfaz de usuario con el siguiente código:

using System;
static class Errores
{
   public static void setErrorInterfaz(Exception ex)
   {
      String informe;
      informe = "Informe de errores:\r\n";
      informe += "Mensaje de errror: " + ex.Message;
      informe += "\r\nAplicación que generó el error: " + ex.Source;
      informe += "\r\nPila de llamadas: " + ex.StackTrace;
      informe += "\r\nMétodo: " + ex.TargetSite;
      Email.sendEmail("direccion_de_remitente", "direccion_de_destinatario", "Informe de errores", informe);
   }
}

Como podemos observar, ambas clases son estáticas, para poder utilizarlas sin necesidad de instanciarlas.

El código del manejador del evento Click de nuestro botón quedaría asi:

private void cmdEjemplo_Click(object sender, EventArgs e)
{
   try
   {
      //Código asociado al evento Click del botón cmdEjemplo
   }
   catch (Exception ex)
   {
      Errores.setErrorInterfaz(ex);
   }
}

El informe de errores que recibiremos nos dará la siguiente información:
- Mensaje de error que emite el sistema
- Aplicación que generó el error
- Pila de llamadas
- Método (o manejador de evento) que generó el error

Autor del artículo

Dámaso Velázquez

Fecha del artículo

16/4/2008

Compartir

  • www.webprogramacion.com
  • informatica[at]webprogramacion.com
  • Formación
  • Accesibilidad
  • Aplicaciones a medida
  • Presencia en Internet
  • Salamanca

Valid XHTML 1.0 Transitional  ¡CSS Válido!  TAW.Test de accesibilidad web