File boutexception.hxx#

Functions

void BoutParallelThrowRhsFail(int status, const char *message)

Throw BoutRhsFail with message if any one process has non-zero status

class BoutException : public std::exception#

Subclassed by BoutIterationFail, BoutRhsFail

Public Functions

BoutException(std::string msg)#
template<class S, class ...Args>
inline BoutException(const S &format, const Args&... args)#
~BoutException() override#
inline const char *what() const noexcept override#
std::string getBacktrace() const#

Return the exception message along with the MsgStack and backtrace (if available)

Public Members

const std::string header = {"====== Exception thrown ======\n"}#

Protected Functions

void makeBacktrace()#

Protected Attributes

std::string message#
void *trace[TRACE_MAX]#
int trace_size#
char **messages#

Protected Static Attributes

static constexpr unsigned int TRACE_MAX = 128#
class BoutRhsFail : public BoutException#

Public Functions

inline BoutRhsFail(std::string message)#
template<class S, class ...Args>
inline BoutRhsFail(const S &format, const Args&... args)#
class BoutIterationFail : public BoutException#

Public Functions

inline BoutIterationFail(std::string message)#
template<class S, class ...Args>
inline BoutIterationFail(const S &format, const Args&... args)#