SetReturnError

Définit le code que le process du terminal retourne à la fin d'une opération.

void  SetReturnError(
   int ret_code      // code de fin du terminal client
   );

Paramètres

ret_code

[in]  Le code que le process du terminal client doit retourner à la fin de l'opération.

Valeur de Retour

Aucune valeur de retour.

Note

Définir le code de retour ret_code spécifié avec la fonction SetReturnError() est utile pour analyser les raisons de la fin de l'opération lors du lancement du terminal via la ligne de commande.

Contrairement à TerminalClose(), la fonction SetReturnError() ne termine pas l'opération du terminal. Elle définit au lieu de cela le code que le process du terminal retournera à la fin.

Si la fonction SetReturnError() est appelée plusieurs fois, et/ou depuis différents programmes MQL5, le terminal retourne le dernier code de retour défini.

Le code défini est retourné à la fin du process du terminal, sauf dans les cas suivants :

  • une erreur critique est survenue pendant l'exécution ;
  • la fonction TerminalClose(int ret_code) générant la commande de fin du terminal avec le code spécifié a été appelé.

 

Exemple :

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   matrix matrix_a =
     {
        {-3.4745891.106384, -9.091977,-3.925227 },
        {-5.5221392.366887,-15.162351,-6.357512 },
        { 8.394926,-2.96006722.2921159.524129 },
        { 7.803242,-2.08028719.2177068.186645 }
     };
   matrix matrix_l(4,4);
   matrix matrix_u(4,4);
 
//--- decomposition LU
   matrix_a.LU(matrix_l,matrix_u);
 
//--- vérifie si A = L * U
   matrix matrix_lu=matrix_l.MatMul(matrix_u);
   int    compare_errors=(int)matrix_a.Compare(matrix_lu,1e-29);
   Print("MatrixCompare errors=",compare_errors);
 
//--- une fois terminé, le terminal client renverra le nombre d'erreurs lors de la comparaison de deux matrices
   SetReturnError(compare_errors);
  }

Voir aussi

Exécution du programme, Erreurs d'Exécution, Codes de Désinitialisation, TerminalClose