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)

Private Functions

void makeBacktrace()#

Private Members

std::string message#
std::array<void*, TRACE_MAX> trace = {}#
int trace_size#
char **messages#

Private 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)#