Je travaille sur un projet d'entreprise qui sera déployé dans de nombreuses PME et entreprises.
La prise en charge de ce projet serait difficile et je souhaite donc créer un modèle de codage pour les erreurs ( comme les codes d'état HTTP ). Cela permettra aux personnes du service d'assistance de se référer à des documents et de résoudre les problèmes le plus rapidement possible.
Quelles sont les meilleures pratiques et recommandations pour le faire?
Toute aide pour ce faire sera utile.
Réponses:
Il existe une différence entre les codes d'erreur et les valeurs de retour d'erreur. Un code d'erreur est destiné à l'utilisateur et au service d'assistance. Une valeur de retour d'erreur est une technique de codage indiquant que votre code a rencontré une erreur.
On peut implémenter des codes d'erreur en utilisant des valeurs de retour d'erreur, mais je conseillerais contre cela. Les exceptions constituent le moyen moderne de signaler les erreurs, et il n’ya aucune raison pour qu’elles ne contiennent pas de code d’erreur.
Voici comment je l’organiserais (notez que les points 2 à 6 sont indépendants de la langue):
ErrorCode
propriété supplémentaire . La capture dans la boucle principale signalera ce champ de la manière habituelle (fichier journal / erreur pop-up / réponse d'erreur). Utilisez le même type d'exception dans tout votre code.if (...) throw new FooException(1234, ".."); else throw new FooException(1235, "..");
ligne dans votre code peut faire gagner une demi-heure au service d’assistance.Et n'oubliez jamais que les codes d'erreur ont pour but de simplifier la vie du service d'assistance .
la source
Doc1234
certain temps que l’application principale peut avoirIrS1234
. Ainsi, mes collaborateurs du helpdesk sont assez rapides pour aider mes utilisateurs.Vous devez d'abord isoler les zones où des erreurs peuvent survenir et sont visibles pour l'utilisateur. Ensuite, vous pouvez les documenter. C'est si simple.
Eh bien, c'est simple en théorie… en pratique, des erreurs peuvent se produire partout, et les signaler peut transformer un code agréable en un monstre de journalisation, de lancement et de traitement des exceptions et de transmission des valeurs de retour.
Je recommanderais alors une approche en 2 étapes. La première consiste à enregistrer, connectez-vous des lots, des lots.
Deuxièmement, il faut déterminer les principaux composants et leurs interfaces, ainsi que les cas d’erreur majeurs dans lesquels ces composants peuvent se trouver. Vous pouvez ensuite vous connecter de manière plus visible lorsque l’une de ces erreurs (la façon dont vous gérez l’erreur en interne dépend de vous. - les exceptions ou les codes d'erreur ne font aucune différence ici). Un utilisateur verra généralement l'erreur et consultera les journaux pour obtenir des informations plus détaillées.
La même approche est utilisée pour les serveurs Web et votre exemple de code d'erreur http. Si l'utilisateur voit une 404 et la signale au support, il consultera dans les journaux les détails de ce qui se passait, de la page visitée, de la date et glanera toute autre information possible, là où elle a un sens. , être dans la base de données, le réseau ou l’application.
la source
Je voudrais aller pour les exceptions personnalisées avec des noms descriptifs et des messages clairs et jette ceux-ci. Il est beaucoup plus facile d'utiliser l'infrastructure d'exception existante d'un langage que de prendre en charge le transfert de codes d'erreur et leur interprétation.
la source