Gromacs
2020-beta1
|
#include <gromacs/utility/exceptions.h>
Exception class for user input errors.
Derived classes should be used to indicate the nature of the error instead of throwing this class directly.
Public Member Functions | |
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 | |
UserInputError (const ExceptionInitializer &details) | |
Creates an exception object with the provided initializer/reason. More... | |
|
inlineexplicitprotected |
Creates an exception object with the provided initializer/reason.
[in] | details | Initializer for the exception. |
std::bad_alloc | if out of memory. |
It is possible to call this constructor either with an explicit ExceptionInitializer object (useful for more complex cases), or a simple string if only a reason string needs to be provided.
|
inlineinherited |
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.
|
inherited |
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.
|
inlineinherited |
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.
|
overridenoexceptinherited |
Returns the reason string for the exception.
The return value is the string that was passed to the constructor.