en busca de sugerencias/mejores prácticas en la gestión de los códigos de error y mensajes en unas aplicaciones de varios niveles. Específicamente cosas como:Código de error/Gestión de mensajes en .NET
- ¿Dónde deberían definirse los códigos de error? Enum? ¿Clase?
- ¿Cómo se asocian los mensajes de error o los detalles adicionales con los códigos de error? archivos de recursos? atributos en valores enum, etc.?
- Si tiene una aplicación de varios niveles que consta de DAL, BLL, UI y proyectos comunes, por ejemplo, ¿debería haber una única lista gigante de códigos para todos los niveles, o los códigos son extensibles por proyecto/nivel?
Actualización: importante mencionar que no puede basarse únicamente en las excepciones y tipos de excepción personalizada para el informe de errores, ya que algunos clientes para esta aplicación serán través de servicios web (SOAP) & RESTO
Cualquier sugerencia bienvenida!
Gracias por la entrada. He actualizado la pregunta original para mencionar que no puedo confiar únicamente en las excepciones, ya que algunos clientes lo harán a través de servicios web y, específicamente, de servicios web REST que no tienen el concepto de "tipos de excepción". Ver algunas de las API de Internet (Facebook, Flickr, etc.) me lleva a pensar que los códigos de error en este uso son el camino a seguir. – WayneC
@WayneC: los servicios web SOAP tienen acceso a Fallas SOAP. Lástima que REST te exija volver a principios de los 90. –
@John: ¿Estás diciendo que las API REST son los "principios de los 90"? ¡Alguien mejor diga a Facebook, Flickr, Netflix, Twitter, Google, etc. que deberían obtener los tiempos! :-) Incluso con el enfoque de excepción, los códigos de error aún pueden ser valiosos para categorizar aún más una excepción. Por ejemplo, si tiene una ValidationException personalizada, podría tener códigos de error para detallar el tipo de validación que falló en lugar de crear un nuevo tipo de excepción personalizado para cada escenario de validación. – WayneC