21 #ifndef OPM_GRID_ERRORMACROS_HEADER_INCLUDED 22 #define OPM_GRID_ERRORMACROS_HEADER_INCLUDED 26 #include <opm/common/ErrorMacros.hpp> 38 #ifdef OPM_VERBOSE // Verbose mode 40 # define OPM_REPORT do { std::cerr << "[" << __FILE__ << ":" << __LINE__ << "] " } while (false) 41 # define OPM_MESSAGE(x) do { OPM_REPORT; std::cerr << x << "\n"; } while (false) 42 # define OPM_MESSAGE_IF(cond, m) do {if(cond) OPM_MESSAGE(m);} while (false) 43 #else // non-verbose mode (default) 44 # define OPM_REPORT do {} while (false) 45 # define OPM_MESSAGE(x) do {} while (false) 46 # define OPM_MESSAGE_IF(cond, m) do {} while (false) 57 #define OPM_THROW(Exception, message) \ 59 std::ostringstream oss__; \ 60 oss__ << "[" << __FILE__ << ":" << __LINE__ << "] " << message; \ 61 throw Exception(oss__.str()); \ 67 #define OPM_THROW_NOLOG(Exception, message) \ 69 std::ostringstream oss__; \ 70 oss__ << "[" << __FILE__ << ":" << __LINE__ << "] " << message; \ 71 throw Exception(oss__.str()); \ 75 #define OPM_ERROR_IF(condition, message) do {if(condition){ OPM_THROW(std::logic_error, message);}} while(false) 77 #endif // #if HAVE_OPM_PARSER 79 #endif // OPM_ERRORMACROS_HPP