//+------------------------------------------------------------------+ //| Try.mqh | //| Copyright 2026, Niquel Mendoza. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2026, Niquel Mendoza." #property link "https://www.mql5.com" #property strict #ifndef MQLARTICLES_UTILS_TRY_MQH #define MQLARTICLES_UTILS_TRY_MQH //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ 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_IS_ERR (_err) //--- #else // MQLARTICLES_TRY_MOREINFO //--- #define MQLART_TRY_INI \ MqlArticlesTryCath _err; \ while(true) { #define MQLART_TRY(expr, expected) \ if(expr!=expected) \ { _err.err = true; _err.line=__LINE__; _err.file==__FILE__; _err.func=__FUNCSIG__; break; } #define MQLART_TRY_IS_ERR (_err.err) #endif // MQLARTICLES_TRY_MOREINFO //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #define MQLART_TRY_END \ break; \ } } #endif // MQLARTICLES_UTILS_TRY_MQH //+------------------------------------------------------------------+