Estoy trabajando en un proyecto empresarial que se implementará en muchas PYMES y empresas.
El soporte para este proyecto sería difícil, por lo que quiero crear un patrón de codificación para errores ( como códigos de estado HTTP ). Esto permitirá que las personas de la mesa de ayuda consulten los documentos y resuelvan los problemas lo antes posible.
¿Cuáles son las mejores prácticas y recomendaciones para hacer esto?
Cualquier ayuda para hacer esto será útil.
Respuestas:
Hay una diferencia entre los códigos de error y los valores de retorno de error. Un código de error es para el usuario y la mesa de ayuda. Un valor de retorno de error es una técnica de codificación para indicar que su código ha encontrado un error.
Uno puede implementar códigos de error utilizando valores de retorno de error, pero recomendaría no hacerlo. Las excepciones son la forma moderna de informar errores, y no hay ninguna razón por la cual no deberían llevar un código de error dentro de ellas.
Así es como lo organizaría (tenga en cuenta que los puntos 2-6 son independientes del lenguaje):
ErrorCode
propiedad adicional . La captura en el bucle principal informará este campo de la manera habitual (archivo de registro / mensaje emergente de error / respuesta de error). Use el mismo tipo de excepción en todo su código.if (...) throw new FooException(1234, ".."); else throw new FooException(1235, "..");
línea simple en su código puede ahorrarle media hora para la mesa de ayuda.Y nunca olvide que el propósito de los códigos de error es facilitar la vida de la mesa de ayuda .
fuente
Doc1234
tiempo que puede tener la aplicación principalIrS1234
. Por eso, mis colaboradores del servicio de asistencia son bastante rápidos al ayudar a mis usuarios.Primero tiene que aislar las áreas donde pueden ocurrir errores, y son visibles para el usuario. Entonces puedes documentarlos. Es así de simple.
Bueno, simple en teoría ... en la práctica pueden ocurrir errores en todo el maldito lugar, y reportarlos puede convertir un buen código en un monstruo de registro, lanzamiento y manejo de excepciones, y pasar valores de retorno.
Entonces recomendaría un enfoque de 2 pasos. Primero es iniciar sesión, registrar lotes y lotes.
El segundo es determinar los componentes principales y sus interfaces, y definir en qué casos de errores mayores pueden encontrarse estos componentes. Luego, puede iniciar sesión de manera más visible cuando uno de estos errores (cómo maneja el error internamente depende de usted - las excepciones o los códigos de error no hacen ninguna diferencia aquí). Generalmente, un usuario verá el error e irá a los registros para obtener información más detallada.
Se utiliza el mismo enfoque para los servidores web y su ejemplo de código de error http. Si el usuario ve un 404, y lo informa como soporte, buscará en los registros los detalles de lo que estaba sucediendo, qué página se visitó, cuándo y recogerá cualquier otra información que pueda de donde sea que tenga sentido , estar en la base de datos, la red o la aplicación.
fuente
Iría por excepciones personalizadas con nombres descriptivos y mensajes claros y los arrojaría. Es mucho más fácil usar la infraestructura de excepción existente de un lenguaje que crear soporte para pasar códigos de error e interpretarlos.
fuente