SetReturnError

Setzt den Fehlercode, den ein Prozess des Terminals bei seiner Beendigung zurückgibt.

void  SetReturnError(
   int ret_code      // Klienten-Terminal Fehlercode
   );

Parameter

ret_code

[in]  Der Fehlercode, der vom Prozess des Klienten-Terminals bei seiner Beendigung zurückgegeben wird.

Rückgabewert

Kein Rückgabewert.

Hinweis

Das Setzen des Rückgabewertes ret_code mit der Funktion SetReturnError() hilft, die Gründe für die Beendigung des programmtechnischen Betriebs zu analysieren, wenn das Terminal über die Befehlszeile gestartet worden war.

Im Gegensatz zu TerminalClose() beendet die Funktion SetReturnError() den Terminalbetrieb nicht. Stattdessen wird nur der Fehlercode gesetzt, den das Terminal nach seiner Beendigung zurückgibt.

Wenn die Funktion SetReturnError() mehrfach und/oder aus verschiedenen MQL5-Programmen aufgerufen wird, gibt das Terminal den letzten eingestellten Rückgabewert zurück.

Der eingestellte Fehlercode wird nach Abschluss des Terminalprozesses zurückgegeben, mit Ausnahme der folgenden Fälle:

  • Ein kritischer Fehler ist während der Ausführung aufgetreten;
  • Die Funktion TerminalClose(int ret_code), die den Befehl zum Abschluss des Terminalbetriebs mit einem bestimmten Fehlercode ausgibt, wurde aufgerufen.

 

Beispiel:

//+------------------------------------------------------------------+
//| Skript Programm Start Funktion                                   |
//+------------------------------------------------------------------+
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);
 
//--- LU Zerlegung
   matrix_a.LU(matrix_l,matrix_u);
 
//--- Test, ob 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);
 
//--- nach Beendigung gibt das Client-Terminal die Anzahl der Fehler beim Vergleich der beiden Matrizen zurück
   SetReturnError(compare_errors);
  }

Siehe auch

Programmausführung, Ausführungsfehler,Deinitialisierungsgruende , TerminalClose