> Tech > Traitement des erreurs

Traitement des erreurs

Tech - Par Renaud ROSSET - 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 cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010