diff --git a/BaseLib/Error.h b/BaseLib/Error.h new file mode 100644 index 0000000000000000000000000000000000000000..f2894fd2066b21dcc079d053abce7c590bed2421 --- /dev/null +++ b/BaseLib/Error.h @@ -0,0 +1,24 @@ +/** + * \copyright + * Copyright (c) 2012-2016, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + */ + +#ifndef BASELIB_ERROR_H +#define BASELIB_ERROR_H + +#include <stdexcept> + +#include "StringTools.h" +#include "FileTools.h" + +#define OGS_STR(x) #x +#define OGS_STRINGIFY(x) OGS_STR(x) +#define OGS_LOCATION " at " + BaseLib::extractBaseName(__FILE__) + ", line " OGS_STRINGIFY(__LINE__) +#define OGS_FATAL(fmt, ...)\ + throw std::runtime_error(BaseLib::format(fmt, ##__VA_ARGS__) + OGS_LOCATION); + +#endif //BASELIB_ERROR_H