Foros del Web » Programando para Internet » ASPX (.net) »

¿Cómo se deben gestionar las excepciones?

Estas en el tema de ¿Cómo se deben gestionar las excepciones? en el foro de ASPX (.net) en Foros del Web. Buenas, Esta vez no escribo buscando una solución a algún fallo o error en la aplicación. Esta vez necesito consejos de desarrolladores, unas buenas practicas ...
  #1 (permalink)  
Antiguo 20/01/2010, 05:06
 
Fecha de Ingreso: febrero-2008
Ubicación: EH
Mensajes: 117
Antigüedad: 16 años
Puntos: 0
Exclamación ¿Cómo se deben gestionar las excepciones?

Buenas,

Esta vez no escribo buscando una solución a algún fallo o error en la aplicación. Esta vez necesito consejos de desarrolladores, unas buenas practicas para gestionar los errores en una aplicación web.

Sé que están los try-catch-finally, el Page_Error, el Application_Error y la etiqueta customErrors del web.config, entiendo como funciona cada uno y he utilizado alguno de ellos pero no tengo nada claro como gestionar los errores en una aplicación web.

Imaginaos que tengo por un lado páginas aspx y por otra lado unas clases .vb donde guardo todo lo demás, la lógica de negocio, acceso a datos, etc. Desde una página llamo a un metodo de una clase para que haga un select en la base de datos. Imaginaos que la bd está apagada y que no puede acceder, lanzaría una excepción en la clase. La pregunta es, qué hago?? lo recogo con el catch, para que, sino voy hacer nada en esa clase, hago eso en la página, para luego redireccionar a una página de errores....

Es conveniente mostrar el mensaje de la excepción al usuario?? le tendre que decir por lo menos porque ha fallado, no??
En la etiqueta customErrors del web.config se pueden escribir todos los errores??

No veo una solución clara, para gestionar las excepciones de un modo ordenado, simple y seguro. Me gustaría saber como haceís los demás programadores esto de las excepciones.

Gracias de antemano,
  #2 (permalink)  
Antiguo 20/01/2010, 09:54
Avatar de triqui  
Fecha de Ingreso: diciembre-2008
Ubicación: Zaragoza(España)
Mensajes: 624
Antigüedad: 15 años, 3 meses
Puntos: 31
Respuesta: ¿Cómo se deben gestionar las excepciones?

Yo no soy un experto pero cuento mi experiencia, yo mediante las librerias de la enterprise library gestiono todos mis errores a través del Exception Handling, yo creo que son las buenas prácticas de .net en cuanto al tratamiento de errores, pero cada uno se lo cocina como quiere.

Descargarlas:

http://msdn.microsoft.com/en-us/library/aa480453.aspx

Aquí como instalarlas:

http://www.elguille.info/colabora/NE...con_VS2005.htm

Como integrarlas:

http://www.tutorial-lab.com/tutorial...n-c-sharp.aspx



Dentro de la Enterprise library hay muchas utilidades como la Exception Handling, te creas un log donde se va guardando las excepciones que se vayan creando.

Aqui un ejemplo

http://blog.tercerplaneta.com/2007/0...trar-como.html

Pero hay excepciones graves como la conexión a la base de datos, que las gestiono via email, cuando ocurre una me envía un email a mi correo personal.

Resumiendo, es bueno crearse un fichero log y no guardarlas directamente en el webconfig y las graves si consideras que las puede haber mandate un email ó sms, así lo solucionarás lo podrás solucionar lo antes posible.

Al usuario solo le mostraría mensaje básicos del tipo, "ahora no podemos insertar el registro intentelo más tarde" en vez de redirigirle a otra página de error.


Aqui hay un hilo donde hable de ellas hace tiempo:

http://www.forosdelweb.com/f29/para-...ibrary-616152/



saludos
__________________
La nueva red social de quinielas quiniela resultados
Cazaresultados Futbol base en directo

Última edición por triqui; 20/01/2010 a las 10:03
  #3 (permalink)  
Antiguo 20/01/2010, 10:57
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 6 meses
Puntos: 16
Respuesta: ¿Cómo se deben gestionar las excepciones?

CustomErrors puedes configurarlo para mostrar una página que le informe al usuario que ocurrió un error. No me parece buena idea mostrarle detalles de la excepción ocurrida al usuario.

Puedes configurar Health Monitoring para más detalle sobre los errores, como enviarlos a tu correo por ejemplo cuando ocurran.

Saludos.
__________________
Eduardo Peredo
Wigoin
  #4 (permalink)  
Antiguo 21/01/2010, 03:52
 
Fecha de Ingreso: febrero-2008
Ubicación: EH
Mensajes: 117
Antigüedad: 16 años
Puntos: 0
Respuesta: ¿Cómo se deben gestionar las excepciones?

Ok, gracias a los dos, ya voy a probar lo que me dices triqui.

Gracias

Etiquetas: excepciones, gestionar, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:29.