> Tech > Traitement des erreurs

Traitement des erreurs

Tech - Par iTPro - Publié le 24 juin 2010
email

Le monde des ordinateurs est imparfait par nature. Des incidents surviennent. Particulièrement lorsqu’on communique sur un réseau aussi vaste et divers qu’Internet. Pour que votre logiciel TCP/IP remplisse bien sa fonction, il doit détecter les erreurs et redresser la situation le plus élégamment possible.

Quand une erreur survient

pendant un appel adressé à une API sockets, celle-ci renvoie -1 pour indiquer l’échec. Elle inscrit aussi un numéro d’erreur dans une variable spéciale appelée errno. Quand une telle défaillance est détectée, il est bon que les programmes extraient ce numéro d’erreur et l’utilisent pour indiquer à l’utilisateur ce qui a raté.

Si vous avez lu mes précédents articles sur la programmation IFS (voir la série en sept parties RPG et l’IFS, www.itpro. fr), vous observerez que les API sockets et les API IFS traitent les erreurs par le même mécanisme.

Pour obtenir la valeur errno à partir d’un programme RPG, il faut appeler une API nommée _errno (A en figure 8). Cette API donne un pointeur vers un entier qui contient un numéro d’erreur. L’API String Error (strerror) peut être utilisée pour extraire un message d’erreur en clair qui correspond à la valeur de errno. En B, on voit comment extraire ce message et l’utiliser comme entrée dans une sous-procédure appelée joblog().

La sous-procédure joblog() écrit le message d’erreur dans le job log. Par manque de place, je n’ai fourni ici aucune figure montrant comment joblog() fonctionne, mais elle se trouve dans le téléchargement de code pour cet article.

Téléchargez gratuitement cette ressource

Cybersécurité sous contrôle à 360°

Cybersécurité sous contrôle à 360°

Avec Cloud in One, les entreprises ne gagnent pas uniquement en agilité, en modernisation et en flexibilité. Elles gagnent également en sécurité et en résilience pour lutter efficacement contre l’accroissement en nombre et en intensité des cyberattaques. Découvrez l'axe Cybersécurité de la solution Cloud In One.

Tech - Par iTPro - Publié le 24 juin 2010