> Tech > Traitement des erreurs dans les API

Traitement des erreurs dans les API

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

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

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