Gromacs
2022.2
|
#include <gromacs/utility/exceptions.h>
Base class for all exception objects in Gromacs.
Public Member Functions | |
GromacsException (const GromacsException &)=default | |
GromacsException (GromacsException &&) noexcept=default | |
GromacsException & | operator= (const GromacsException &)=default |
GromacsException & | operator= (GromacsException &&) noexcept=default |
const char * | what () const noexceptoverride |
Returns the reason string for the exception. More... | |
virtual int | errorCode () const =0 |
Returns the error code corresponding to the exception type. | |
template<class InfoType > | |
const InfoType::value_type * | getInfo () const |
Returns the value associated with given ExceptionInfo. More... | |
template<class Tag , typename T > | |
void | setInfo (const ExceptionInfo< Tag, T > &item) |
Associates extra information with the exception. More... | |
void | prependContext (const std::string &context) |
Adds context information to this exception. More... | |
Protected Member Functions | |
GromacsException (const ExceptionInitializer &details) | |
Creates an exception object with the provided initializer/reason. More... | |
|
explicitprotected |
Creates an exception object with the provided initializer/reason.
[in] | details | Initializer for the exception. |
std::bad_alloc | if out of memory. |
|
inline |
Returns the value associated with given ExceptionInfo.
InfoType | ExceptionInfo type to get the value for. |
InfoType
, or nullptr
if such info has not been set.Does not throw.
void gmx::GromacsException::prependContext | ( | const std::string & | context | ) |
Adds context information to this exception.
[in] | context | Context string to add. |
std::bad_alloc | if out of memory. |
Typical use is to add additional information higher up in the call stack using this function in a catch block and the rethrow the exception.
|
inline |
Associates extra information with the exception.
Tag | ExceptionInfo tag type. |
T | ExceptionInfo value type. |
[in] | item | ExceptionInfo to associate. |
std::bad_alloc | if out of memory. |
unspecified | any exception thrown by T copy construction. |
If an item of this type is already associated, it is overwritten.
|
overridenoexcept |
Returns the reason string for the exception.
The return value is the string that was passed to the constructor.