La plupart des API que nous sommes amenés à utiliser quotidiennement emploient un paramètre facultatif pour contrôler les erreurs (comme défini dans le membre source copy de la figure 1 en A, par exemple). Si l'API détecte une erreur alors que nous avons omis ce paramètre, elle s'effondre avec un
Traitement des erreurs dans les API
message d’échappement. On peut
en déduire que si votre programme ne
traite pas l’erreur, il s’effondrera lui
aussi. Il vaut bien mieux transmettre le
programme et examiner les résultats
renvoyés, afin de décider de la marche
à suivre.
La figure 1 en A est un membre copy
parce que l’information est gardée
comme une structure de données.
Comme la figure 2 le montre clairement,
une structure de données est
construite de la manière suivante :
- QUSEC est le nom de la structure de
données. - QUSBPRV indique les octets fournis.
Il indique à l’API la longueur de la
structure de données. On spécifie
généralement une longueur d’au
moins 16 octets (le champ peut
contenir 0, 8, ou plus). L’API met
aussi à jour ce champ avec le
nombre d’octets qui peuvent être
renvoyés si la structure de données
est suffisamment longue. (C’est un
champ binaire de quatre octets, pas
un champ de quatre digits, donc si vous le définissez dans RPG avec
des digits, il vous faudra spécifier
une valeur entre cinq et neuf.) - QUSBAVL montre les octets disponibles.
Ici, l’API nous dit combien
d’octets d’information d’erreur
sont renvoyés. Important : Si cette
valeur est zéro, il n’y a pas d’erreur.
Si elle est supérieure à 0, l’API nous
dit combien d’information a été
renvoyé (à nouveau c’est un
champ binaire de quatre octets). - QUSEI spécifie l’ID d’exception
(ID message). C’est l’ID message
pour le type d’erreur qui a entraîné
la défaillance de l’API (c’est un
champ de sept caractères). - QUSERVED est un champ réservé
d’un seul caractère que nous n’utilisons
pas. - Vous pouvez ajouter à la structure
de données un champ (que vous
nommez) pour des informations
supplémentaires que l’API peut
renvoyer (spécifiquement, les données
de substitution pour l’ID message).
Dans la figure 2, j’ai nommé
ce champ QUSMSGDATA. Son utilisation
ou non dépend de votre application.
Pour des raisons de comparaison,
la figure 1 omet ce
champ, alors que la figure 2 l’inclut.
Téléchargez cette ressource
Solutions Cloud & Services Managés Simplifiés
Comment capitaliser sur son existant tout en bénéficiant, dès à présent, des promesses de flexibilité et de scalabilité du cloud ? Découvrez les bonnes pratiques pour répondre aux défis de simplification du Cloud dans ce nouveau TOP 5.
Les articles les plus consultés
A travers cette chaîne
A travers ITPro