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