mgcpp
A C++ Math Library Based on CUDA
Macros
exception.hpp File Reference
#include <stdexcept>
Include dependency graph for exception.hpp:

Go to the source code of this file.

Macros

#define MGCPP_ABORT_ON_ERROR   true
 
#define MGCPP_ERROR_MESSAGE_HANDLER(...)   fprintf(stderr, __VA_ARGS__)
 
#define mgcpp_error_check(EXP)
 
#define MGCPP_THROW(EXCEPTION)   throw EXCEPTION
 
#define MGCPP_THROW_SYSTEM_ERROR(ERROR)   MGCPP_THROW(std::system_error(ERROR))
 
#define MGCPP_THROW_BAD_ALLOC   MGCPP_THROW(std::bad_alloc())
 
#define MGCPP_THROW_INVALID_ARGUMENT(MESSAGE)   MGCPP_THROW(std::invalid_argument(MESSAGE))
 
#define MGCPP_THROW_LENGTH_ERROR(MESSAGE)   MGCPP_THROW(std::length_error(MESSAGE))
 
#define MGCPP_THROW_OUT_OF_RANGE(MESSAGE)   MGCPP_THROW(std::out_of_range(MESSAGE))
 
#define MGCPP_THROW_RUNTIME_ERROR(MESSAGE)   MGCPP_THROW(std::runtime_error(MESSAGE))
 
#define MGCPP_THROW_OVERFLOW_ERROR(MESSAGE)   MGCPP_THROW(std::overflow_error(MESSAGE))
 
#define MGCPP_THROW_UNDERFLOW_ERROR(MESSAGE)   MGCPP_THROW(std::underflow_error(MESSAGE))
 

Macro Definition Documentation

◆ MGCPP_ABORT_ON_ERROR

#define MGCPP_ABORT_ON_ERROR   true

◆ mgcpp_error_check

#define mgcpp_error_check (   EXP)
Value:
do { \
try { \
EXP; \
} catch (std::exception const& e) { \
MGCPP_ERROR_MESSAGE_HANDLER("[mgcpp errror] %s in %s line %d\n", \
e.what(), __FILE__, __LINE__); \
exit(1); \
} \
} while (false)
#define MGCPP_ABORT_ON_ERROR
Definition: exception.hpp:13

◆ MGCPP_ERROR_MESSAGE_HANDLER

#define MGCPP_ERROR_MESSAGE_HANDLER (   ...)    fprintf(stderr, __VA_ARGS__)

◆ MGCPP_THROW

#define MGCPP_THROW (   EXCEPTION)    throw EXCEPTION

◆ MGCPP_THROW_BAD_ALLOC

#define MGCPP_THROW_BAD_ALLOC   MGCPP_THROW(std::bad_alloc())

◆ MGCPP_THROW_INVALID_ARGUMENT

#define MGCPP_THROW_INVALID_ARGUMENT (   MESSAGE)    MGCPP_THROW(std::invalid_argument(MESSAGE))

◆ MGCPP_THROW_LENGTH_ERROR

#define MGCPP_THROW_LENGTH_ERROR (   MESSAGE)    MGCPP_THROW(std::length_error(MESSAGE))

◆ MGCPP_THROW_OUT_OF_RANGE

#define MGCPP_THROW_OUT_OF_RANGE (   MESSAGE)    MGCPP_THROW(std::out_of_range(MESSAGE))

◆ MGCPP_THROW_OVERFLOW_ERROR

#define MGCPP_THROW_OVERFLOW_ERROR (   MESSAGE)    MGCPP_THROW(std::overflow_error(MESSAGE))

◆ MGCPP_THROW_RUNTIME_ERROR

#define MGCPP_THROW_RUNTIME_ERROR (   MESSAGE)    MGCPP_THROW(std::runtime_error(MESSAGE))

◆ MGCPP_THROW_SYSTEM_ERROR

#define MGCPP_THROW_SYSTEM_ERROR (   ERROR)    MGCPP_THROW(std::system_error(ERROR))

◆ MGCPP_THROW_UNDERFLOW_ERROR

#define MGCPP_THROW_UNDERFLOW_ERROR (   MESSAGE)    MGCPP_THROW(std::underflow_error(MESSAGE))