2009-10-21 6 views
4

En C#, vous pouvez renvoyer un entier à l'appelant sous-jacent en utilisant Environment.Exit (n) (qui peut être testé, par exemple, en utilisant la variable ERRORLEVEL à partir d'un script DOS).Quelles sont les meilleures pratiques concernant les codes d'erreur renvoyés par une application de console?

Existe-t-il des bonnes pratiques concernant ces codes?

Je pense que 0 = pas d'erreur ... mais y at-il des numéros réservés? Puis-je utiliser des nombres négatifs? etc

Merci!

Répondre

6

Zéro signifie généralement qu'il n'y a pas eu d'erreurs. Pour ce qui est des autres, je ne pense pas qu'il y ait un ensemble réservé. Je définirais généralement ce que les différents codes de retour de mon application signifiaient et les documenterais. DOS ne gère qu'un maximum de 256 codes de retour possibles, mais en réalité je doute que vous en utilisiez/en ayez besoin.

Vous pouvez utiliser des valeurs négatives, mais notez que les valeurs négatives ne signifient pas nécessairement quelque chose de différent des valeurs positives.

3

L'utilisation la plus étendue des codes de retour que j'ai vu est dans Robocopy. Il peut fournir des conseils pour d'autres applications. Robocopy utilise les codes de retour comme indicateurs:

0 × 10 Erreur grave. Robocopy n'a pas copier les fichiers. Il s'agit d'une erreur d'utilisation ou d'une erreur due à des privilèges d'accès insuffisants sur les répertoires de destination source ou .

0 × 08 Certains fichiers ou répertoires ne peuvent pas être copiés (erreurs de copie survenues et dépassement de la limite de réessai). Vérifiez ces erreurs plus avant.

0 × 04 Certains fichiers incompatibles ou répertoires ont été détectés. Examinez le journal de sortie . Le ménage est probablement nécessaire.

0 × 02 Certains fichiers ou répertoires supplémentaires ont été détectés. Examiner le journal de sortie. Certains frais d'entretien peuvent être nécessaires.

0 × 01 Un ou plusieurs fichiers ont été copiés avec succès (c'est-à-dire que les nouveaux fichiers ont sont arrivés).

0 × 00 Aucune erreur ne s'est produite et aucune copie de n'a été effectuée. Les arborescences source et de destination sont complètement synchronisées.

Questions connexes