SetReturnError

Define o código de retorno que devolverá um processo do terminal ao encerrar o trabalho.

void  SetReturnError(
   int ret_code      // código de encerramento do terminal do cliente
   );

Parâmetros

ret_code

[in]  O código de retorno que será devolvido pelo processo do terminal do cliente ao encerrar o trabalho.

Valor retornado

Não há nenhum valor de retorno.

Observação

A instalação desse código de retorno ret_code usando a função SetReturnError() será útil para analisar os motivos de encerramento do programa ao iniciar o terminal a partir da linha de comando.

Ao contrário da função SetReturnError(), a função TerminalClose() não encerra o terminal, ela apenas define o código de retorno que devolverá o processo do terminal após seu encerramento.

Se a função SetReturnError() foi chamada repetidamente e/eu a partir de diferentes programas MQL5, o terminal retornará o último código de retorno definido.

O código exibido será devolvido no final do processo do terminal, exceto nos seguintes casos:

  • se surgir um erro crítico em tempo de execução;
  • se for chamada a função TerminalClose(int ret_code) que fornece ao terminal um comando para encerrar o trabalho com um código especificado.

 

Exemplo:

//+------------------------------------------------------------------+
//| 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);
 
//--- decomposição LU
   matrix_a.LU(matrix_l,matrix_u);
 
//--- verificamos se de 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);
 
//--- o terminal cliente ao terminar retornará o número de erros de comparação entre duas matrizes
   SetReturnError(compare_errors);
  }

Veja também

Execução de programas, Erros de execução, Causas de desinicialização, TerminalClose