Les avertissements

Il est important de considérer le warning et de le gérer comme une tranche d’exit code entre 1 et le nombre maximum qui signifiera l’erreur. La mauvaise méthode serait d’utiliser un bit significatif pour exprimer le warning car cela obligerait a effectuer une évaluation binaire or il est plus facile et surtout plus lisible d’utiliser un opérateur pour tester l’exit code. Donc, le bit significatif devra indiquer a partir de quel niveau l’exit code représent une erreur.
Exemples
#[b]# est le bit signifiant de l’exit code indiquant l’erreur fatale.
= b=1 Si le premier bit représente une erreur, cela signifiequ’il n’y pas de tranches d’avertissement,on ne considéra donc qu’un résultat booléen. ! Exit Code ! Binaire ! Signification ! 0 | 0000000#[0]# | Succès ! 1 | 0000000#[1]# | Erreur
= b=2 On introduit la notion minimal de warning, un exemple typique est l’exit code de modules Nagios : ! Exit Code ! Binaire ! Signification ! 0 | 000000#[0]#0 | OK ! 1 | 000000#[0]#1 | WARNING ! 2 | 000000#[1]#0 | CRITICAL ! 3 | 000000#[1]#1 | UNKNOWN
= b=3 ! Exit Code ! Binaire ! Signification ! 0 | 00000#[0]#00 | OK ! 1 | 00000#[0]#01 | WARNING niveau 1 ! 2 | 00000#[0]#10 | WARNING niveau 2 ! 3 | 00000#[0]#11 | WARNING niveau 3 ! 4 | 00000#[1]#00 | Erreur 1 ! 5 | 00000#[1]#01 | Erreur 2 ! 6 | 00000#[1]#10 | Erreur 3 ! 7 | 00000#[1]#11 | Erreur 4...
En résumé
Utiliser un bit d’avertissement #[b]#, signifie que l’erreur fatale sera à partir de 2^(b-1).
Sachant que l’exit code 0 est reservé au succès (0*2^0), l’exit code sera considéré comme fatal à partir de 2^(b-1), la plage d’avertissement va donc de 1 à (2^(-1)b)-1.
Le tableau indique a partir de quel niveau l’exit code en erreur en fonction du bit : | ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! erreur | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128
Article
Il peut être nécessaire de distinguer un niveau intermédiaire d’avertissement signifiant que l’exécution ne s’est pas déroulé correctement mais que les erreurs rencontrées ne sont pas bloquantes.
| Mise à jour : | 6 avril 2005 |
| Visites : | 698 |
| Auteur : | E. Angenault |
| Site : | Angenault.net |
L’exit code d’un batch ou d’un application est vital pour l’exploitation car c’est le premier élément dont on dispose à la fin de son exécution. Il est donc nécessaire de le normaliser afin de le gérer sans traitement particulier.
