> Tech > BIF de retour

BIF de retour

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

Une BIF de retour indique si une opération a réussi. La figure 1 montre les BIF de retour les plus courantes utilisées avec le RPG en format libre. Ces BIF renvoient toutes une valeur d'indicateur *On ou *Off. Les BIF sont normalement associées à  des opérations d'I/O. On peut coder

BIF de retour

%EOF et %Found après toute opération pertinente. Pour tester
si un enregistrement n’a pas été trouvé sur une opération Chain, on code :

chain key file;
if not %found( file );
// Handle not found condition
endif;

Les BIF %EOF et %Found permettent toutes deux un argument
facultatif qui définit la source du retour. Si vous ne
codez pas un argument, la BIF fait référence à  la dernière
opération sur laquelle il pourrait être spécifié. Ainsi, la
BIF %Found fait référence à  file2, pas à  file1 :

chain key1 file1;
chain key2 file2;
if not %found file( );

On ne peut coder la BIF %Error qu’après une opération
qui spécifie l’extension d’erreur. Pour tester une erreur sur
une opération Write, on codera :

write(e) format;
if %error();
// Handle error
endif;

Contrairement à  %EOF et %
Found, %Error ne prend pas d’argument
pour définir l’origine du retour.
Il faut coder la BIF %Error immédiatement
après l’opération qu’elle référence.
%Error s’avèrera particulièrement
utile pour tester des valeurs
valides avant de forcer des données à 
changer de type. Le code suivant teste
une date *ISO dans un champ entier avant de le transformer
en un type date :

test(de) *iso int;
if not %error();
date = %date( int: *iso );
endif;

Ce fragment de code stoppe une erreur explosive sur la
BIF %Date. Cependant, les BIF
de retour ne stoppent pas normalement
les erreurs radioactives.
L’échec de détection d’une
erreur sur une opération Chain
ou Read signifie que les champs
d’entrée conservent leurs valeurs
provenant de la dernière opération
d’I/O réussie. On finit par réutiliser
des valeurs erronées plutôt
que de traiter l’erreur.

Téléchargez cette ressource

Percer le brouillard des rançongiciels

Percer le brouillard des rançongiciels

Explorez les méandres d’une investigation de ransomware, avec les experts de Palo Alto Networks et Unit 42 pour faire la lumière dans la nébuleuse des rançongiciels. Plongez au cœur de l’enquête pour comprendre les méthodes, les outils et les tactiques utilisés par les acteurs de la menace. Découvrez comment prévenir les attaques, les contrer et minimiser leur impact. Des enseignements indispensables aux équipes cyber.

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