> Tech > Les gestionnaires de conditions ne sont pas destinés à  remplacer un code défensif

Les gestionnaires de conditions ne sont pas destinés à  remplacer un code défensif

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

Un coup d'oeil au code du programme de service SlsAnlPrc montre bien sa solidité. Les cartes C vérifient les erreurs de division par zéro et utilisent de grandes zones de travail sur les opérations Eval pour réduire le risque de troncature d'ordre supérieur. Il est en effet toujours possible, quoique

Les gestionnaires de conditions ne sont pas destinés à  remplacer un code défensif

improbable, que le programme de service engendre une erreur d’exécution. Si une telle erreur se produit, le gestionnaire de conditions la détectera et en informera le programme de service par l’intermédiaire de la structure de données CndDs. Dans ce cas, SlsAnlPrc ne demande aucune reprise spéciale. Il suffit d’extraire l’identificateur du message de CndDs et de le renvoyer au programme appelant dans la variable SlsAnlErrId.
Les gestionnaires de conditions ne sont pas destinés à  remplacer un code défensif mais plutôt à  traquer l’exception bizarre qui parviendrait à  se glisser dans le programme. Même si on ignore délibérément le coding défensif en s’en remettant au seul gestionnaire de conditions pour intercepter les erreurs, il faudra vérifier chaque opération susceptible de générer une condition. Au lieu de coder

C If RtlAmt <> 0
C Eval(HR) PrfPc = (RtlAmt – CstAmt) /
C RtlAmt * 100
C Else
. . . Signaler l’erreur
C EndIf

On se retrouvera avec ceci :

C Eval(HR) PrfPc = (RtlAmt – CstAmt) /
C RtlAmt * 100
C If CndMsgId <> *Blank
. . . Signaler l’erreur
C CallP ClearCnd( CndPtr )
C EndIf

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

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