Gromacs
2020-beta1
|
#include <gromacs/utility/exceptions.h>
Exception class for use when ensuring that MPI ranks to throw in a coordinated fashion.
Generally all ranks that can throw would need to check for whether an exception has been caught, communicate whether any rank caught, then all throw one of these, with either a string that describes any exception caught on that rank, or a generic string.
Public Member Functions | |
ParallelConsistencyError (const ExceptionInitializer &details) | |
Creates an exception object with the provided initializer/reason. More... | |
int | errorCode () const override |
Returns the error code corresponding to the exception type. | |
const char * | what () const noexceptoverride |
Returns the reason string for the exception. More... | |
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... | |
|
inlineexplicit |
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.