2015-10-14 4 views
1

J'ai un outil CLI qui traite un tas d'objets, et je voudrais utiliser le code de sortie pour signaler si tout a bien fonctionné ou non.Meilleure pratique pour les codes d'erreur dans le traitement par lots?

Maintenant, si tout va bien, je renvoie 0. C'est assez simple et évident.

Mais que faire si l'un des objets traités échoue? Devrais-je simplement retourner un 1, ce qui signifie alors effectivement "Quelque chose s'est mal passé"? Ou devrais-je retourner le nombre d'objets échoués comme code d'erreur? Le problème ici est que je ne suis pas sûr de la sémantique du code d'erreur: Il serait fondamentalement intéressant de savoir combien d'objets ont échoué, mais d'un autre côté cela signifie que je ne peux pas distinguer différentes erreurs de chaque autre, car le code d'erreur n'est plus lié au type réel de l'erreur.

Quelles sont les meilleures pratiques pour résoudre ce problème?

Répondre

1

Retour 1 et mettre les journaux dans un endroit qui sont lisibles par ordinateur et humain (CSV est une bonne option) est à mon avis le meilleur que vous pouvez faire. Mais si vous connaissez exactement les types d'erreurs qui peuvent survenir, vous pouvez les utiliser comme masks de façon à ce que vous puissiez décoder et savoir quelles erreurs se sont produites mais sans compter leur nombre.