Skip to content
Snippets Groups Projects
se_util.hpp 636 B
Newer Older
Pietro Incardona's avatar
Pietro Incardona committed
/*
 * se_util.hpp
 *
 *  Created on: Oct 22, 2015
 *      Author: i-bird
 */

#ifndef OPENFPM_DATA_SRC_UTIL_SE_UTIL_HPP_
#define OPENFPM_DATA_SRC_UTIL_SE_UTIL_HPP_

#include "print_stack.hpp"

Pietro Incardona's avatar
Pietro Incardona committed
// Macro that decide what to do in case of error
#ifdef STOP_ON_ERROR
#define ACTION_ON_ERROR(error) print_stack();abort();
Pietro Incardona's avatar
Pietro Incardona committed
#define THROW noexcept(true)
Pietro Incardona's avatar
Pietro Incardona committed
#elif defined(THROW_ON_ERROR)
#define ACTION_ON_ERROR(error) if (!std::uncaught_exception()) {print_stack();throw error;}
Pietro Incardona's avatar
Pietro Incardona committed
#define THROW noexcept(false)
Pietro Incardona's avatar
Pietro Incardona committed
#else
#define ACTION_ON_ERROR(error) print_stack();
Pietro Incardona's avatar
Pietro Incardona committed
#define THROW noexcept(true)
Pietro Incardona's avatar
Pietro Incardona committed
#endif


#endif /* OPENFPM_DATA_SRC_UTIL_SE_UTIL_HPP_ */