Exit

Vous pouvez utiliser la fonction Exit pour arrêter une fonction à tout endroit d'une règle ou pour arrêter une règle.

La fonction Exit fonctionne différemment dans IPL et JavaScript. En IPL, lorsque vous utilisez Exit dans une fonction définie par l'utilisateur, elle quitte la fonction et la règle se poursuit. En JavaScript, lorsque vous utilisez Exit dans une fonction définie par l'utilisateur dans une règle, elle quitte l'ensemble de la règle. Si vous voulez arrêter une fonction dans une règle JavaScript, vous devez utiliser la commande return dans la règle.

Syntaxe

La fonction Exit présente la syntaxe suivante :

Exit()

Exemples

Dans cet exemple, la valeur de la variable X est testée. Si X est supérieur à 10, la règle s'arrête. Si X est inférieur à 10, la règle génère un message dans le journal des règles d'administration. L'exemple suivant est valide pour IPL et JavaScript.


function testX() {
X = 15;
if (X > 10) {
Log("Exiting if statement");
Exit();
} else {
Log("X is less than 10.");
}
}

testX();
Log("End of policy");;
Sortie pour IPL
Exiting if statement
End of policy
Sortie pour JavaScript
Exiting if statement

L'exemple suivant montre l'utilisation de la fonction Exit en IPL :

Log("Entering Policy TestExit...");
SetGlobalVar("exitFunction","false");
SetGlobalVar("exitPolicy","false");

function testExit(test){
   SetGlobalVar("exitPolicy",test);
   if (test = true){
      Log("Exiting function TestExit....");
      Exit();
   }else{
      Log("Staying in the Policy TestExit....");
   }
}

//L'envoi de true fait quitter la fonction testExit et la règle
// au second appel (ci-dessous) de Exit.
//La transmission de false permet à la fonction et la règle de s'exécuter jusqu'au bout.
testExit(false);
if(""+(GetGlobalVar("exitPolicy")) = "true"){
   log("Exiting policy...");
   Exit();
}
Log("Si vous voyez ce message, la règle s'est exécutée jusqu'au bout....");

L'exemple suivant montre l'utilisation des fonctions Exit et return dans JavaScript:

Log("Entering Policy TestExit...");
SetGlobalVar("exitFunction","false");
SetGlobalVar("exitPolicy","false");

function testExit(test){
   SetGlobalVar("exitPolicy",test);
   if (test == true){
      Log("Exiting function TestExit AND policy...");
      Exit();
   }else{
      Log("Staying in the Policy TestExit....");
      return;
      Log("I will not see this log statement as we have already returned");
   }
}

//L'envoi de true fait quitter immédiatement la fonction testExit ET la règle.
//La transmission de false permet à la fonction et la règle de s'exécuter jusqu'au bout.
testExit(true);

Log("Si vous voyez ce message, la règle s'est exécutée jusqu'au bout....");