SetLastError 제공!!! - 페이지 4

 
sergeev :

귀하의 제안이 MQL을 개선하는 데 어떻게 도움이 되는지 아직 작성하지 않았습니다. 지금까지 당신에게만 필요한 몇 가지 간단한 요청을 이해할 수없는 목적으로

맨 처음에 나는 MQL5에서 그들이 이미 그것에 대해 생각했고 당신이 필요로 하는 것이 있다고 썼지만 MQL4에서는 last_error의 가시성을 제공함으로써 이것을 수정할 수 있습니다. 두 번째 자체 제작 기능으로 이미 문제를 해결 한 것을 두 번째 반복합니다. 이제는 내 last_error가 아니라 첫 번째 마지막 오류 와 사용자 지정 오류 코드 가능성이 있습니다. MQL5에서처럼.
 
Roger :

이전 작업에서 오류가 있고 처리하지 않은 경우 현재 작업에서 오류가 없으면 이전 작업을 처리하기 때문에 이것은 좋지 않습니다.

예, GetLastError 를 확실히 호출 하지 않으면 모든 것이 괜찮습니다. 그러나 false를 반환하는 함수에서만 가능합니다. 이는 이미 가능한 이전 오류의 코드를 새 것으로 변경했음을 의미합니다!
 
vit46 :

예, 확실히 GetLastError를 호출하지 않으면 모든 것이 괜찮습니다. 그러나 false를 반환하는 함수에서만 가능합니다. 이는 이미 가능한 이전 오류의 코드를 새 것으로 변경했음을 의미합니다!

부가기능에서 에러 확인시 리셋하면 됩니다. 그러나 코드에 오류를 확인하지 않는 부분이 있지만 오류가 발생할 수 있는 경우 부적절한 오류가 발생할 수 있습니다.
 
Roger :

부가기능에서 에러 확인시 리셋하면 됩니다.


아니요, 재설정하지 않습니다.

 // глобально видимая переменная для всей программы
int last_error_fifo = 0 ;

int GetError()
   {
   if (last_error_fifo == 0 )
      {
      last_error_fifo = GetLastError ();
      }
   return (last_error_fifo);
   }

void SetError( int errcode)
   {
   last_error_fifo = errcode;
   // Это можно делать и напрямую, но только установку ошибки или сброс.
   // Для чтения ошибки только GetError() иначе GetLastError не сработает.
   }
 

누구든지 가장 가치 있는(귀하의 의견으로는) 오류 처리 기능을 추천할 수 있습니까?

 
charter :

누구든지 가장 가치 있는(귀하의 의견으로는) 오류 처리 기능을 추천할 수 있습니까?


예, 어떻게 든 선택할 필요가 없습니다 ... 우리는 우리가 가진 것에서 ... 또는 GetLastError 에 대한 무조건 호출을하지 않습니다
 
vit46 :


아니요, 재설정하지 않습니다.


그리고 그게 뭐야?

last_error_fifo = GetLastError ();
 
vit46 :

예, 어떻게 든 선택할 필요가 없습니다 ... 우리는 우리가 가진 것에서 ... 또는 GetLastError 에 대한 무조건 호출을하지 않습니다

아니요, 나는 오류에 대한 정보를 말하는 것이 아니라 오류가 발생하거나 감지할 때 조언자의 "올바른 행동"에 대해 말하는 것입니다.
 
Roger :


그리고 그게 뭐야?


그리고 이것은 무조건적인 영점 조정이 아니지만 last_error_fifo == 0인 경우에만 동일한 계란이 프로필에서만 더 짧습니다. 오류를 확인하기 전에 함수가 무엇을 반환했는지 확인하십시오.
 
charter :

아니요, 나는 오류에 대한 정보를 말하는 것이 아니라 오류가 발생하거나 감지할 때 조언자의 "올바른 행동"에 대해 말하는 것입니다.

그것은 당신의 논리에 달려 있습니다. 결국 각 오류에 대한 처리는 할 수 있지만 이 상황에서 중요한 것만 처리할 수 있습니다.