21#ifndef OPM_GRID_ERRORMACROS_HEADER_INCLUDED
22#define OPM_GRID_ERRORMACROS_HEADER_INCLUDED
25#include <opm/common/ErrorMacros.hpp>
39# define OPM_REPORT do { std::cerr << "[" << __FILE__ << ":" << __LINE__ << "] " } while (false)
40# define OPM_MESSAGE(x) do { OPM_REPORT; std::cerr << x << "\n"; } while (false)
41# define OPM_MESSAGE_IF(cond, m) do {if(cond) OPM_MESSAGE(m);} while (false)
43# define OPM_REPORT do {} while (false)
44# define OPM_MESSAGE(x) do {} while (false)
45# define OPM_MESSAGE_IF(cond, m) do {} while (false)
56#define OPM_THROW(Exception, message) \
58 std::ostringstream oss__; \
59 oss__ << "[" << __FILE__ << ":" << __LINE__ << "] " << message; \
60 throw Exception(oss__.str()); \
66#define OPM_THROW_NOLOG(Exception, message) \
68 std::ostringstream oss__; \
69 oss__ << "[" << __FILE__ << ":" << __LINE__ << "] " << message; \
70 throw Exception(oss__.str()); \
74#define OPM_ERROR_IF(condition, message) do {if(condition){ OPM_THROW(std::logic_error, message);}} while(false)