2026-10-09 12:34:15 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| Try.mqh |
|
| | | //| Copyright 2026, Niquel Mendoza. |
|
| | | //| https://www.mql5.com |
|
| | | //+------------------------------------------------------------------+
|
| | | #property copyright "Copyright 2026, Niquel Mendoza."
|
| | | #property link "https://www.mql5.com"
|
| | | #property strict
|
| | |
|
2026-10-09 12:56:38 -05:00 | | | #ifndef TSNSTD_SRC_ERRORS_TRY_MQH
|
| | | #define TSNSTD_SRC_ERRORS_TRY_MQH
|
2026-10-09 12:34:15 -05:00 | | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | namespace TSN
|
| | | {
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | // #define MQLARTICLES_TRY_MOREINFO
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | #ifdef MQLARTICLES_TRY_MOREINFO
|
| | | struct MqlArticlesTryCath
|
| | | {
|
| | | MqlArticlesTryCath() : func(""), file(""), line(-1), err(false) {}
|
| | |
|
| | | //---
|
| | | string func;
|
| | | string file;
|
| | | int line;
|
| | | bool err;
|
| | |
|
| | | //---
|
| | | void operator=(const bool v) { err = v; }
|
| | | };
|
| | | #endif // MQLARTICLES_TRY_MOREINFO
|
| | |
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | #ifndef MQLARTICLES_TRY_MOREINFO
|
| | | //---
|
| | | #define MQLART_TRY_INI \
|
| | | bool _err = false; \
|
| | | while(true) {
|
| | |
|
| | | #define MQLART_TRY(expr, expected) if(expr!=expected) { _err = true; break; }
|
| | | #define MQLART_TRY_NOT(expr, not) if(expr==not) { _err = true; break; }
|
| | | #define MQLART_TRY_IS_ERR (_err)
|
| | |
|
| | |
|
| | | //---
|
| | | #else // MQLARTICLES_TRY_MOREINFO
|
| | | //---
|
| | | #define MQLART_TRY_INI \
|
| | | MqlArticlesTryCath _err; \
|
| | | while(true) {
|
| | |
|
| | | #define MQLART_TRY_RES { _err.err = true; _err.line=__LINE__; _err.file=__FILE__; _err.func=__FUNCSIG__; break; }
|
| | |
|
| | | #define MQLART_TRY(expr, expected) \
|
| | | if(expr!=expected) \
|
| | | MQLART_TRY_RES
|
| | |
|
| | | #define MQLART_TRY_NOT(expr, not) \
|
| | | if(expr==not) \
|
| | | MQLART_TRY_RES
|
| | |
|
| | |
|
| | | #define MQLART_TRY_IS_ERR (_err.err)
|
| | |
|
| | | #endif // MQLARTICLES_TRY_MOREINFO
|
| | |
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | #define MQLART_TRY_END \
|
| | | break; \
|
| | | }
|
| | | }
|
2026-10-09 12:56:38 -05:00 | | | #endif // TSNSTD_SRC_ERRORS_TRY_MQH
|
2026-10-09 12:34:15 -05:00 | | | //+------------------------------------------------------------------+
|