|
TuringSim
C++ framework to simulate abstract computing models
|
The Base class for all custom exceptions. More...
#include <utils/messageException.h>


Public Member Functions | |
| MessageException ()=delete | |
| a message exception must have an explicative message. | |
| MessageException (std::string message) noexcept | |
| Builds a MessageException with a message. More... | |
| MessageException (const MessageException &e)=default | |
| Copy constructor. More... | |
| MessageException (MessageException &&e)=default | |
| Move constructor. More... | |
| ~MessageException () noexcept override=default | |
| Destructor. | |
| std::string | getMessage () const |
| Get the full error message. More... | |
| const char * | what () const noexcept override |
| Get the full error message. More... | |
| operator std::string () const | |
| Get the full error message. More... | |
Protected Member Functions | |
| virtual std::string | makeFullMessage () const |
| Build the full error message. It should be overridden by derived class that adds data to the exception. More... | |
Protected Attributes | |
| std::string | msg |
| The error message. | |
| std::optional< std::string > | fullMsg |
| The optional full message. Empty until first request. | |
The Base class for all custom exceptions.
It performs memoization of error message.
Definition at line 12 of file messageException.h.
|
inlinenoexcept |
Builds a MessageException with a message.
| [in] | message | the message describing the problem. |
Definition at line 21 of file messageException.h.
|
default |
Copy constructor.
| [in] | e | the exception to copy. |
|
default |
Move constructor.
| [in] | e | the exception to move. |
|
inline |
Get the full error message.
Definition at line 40 of file messageException.h.

|
inlineprotectedvirtual |
Build the full error message. It should be overridden by derived class that adds data to the exception.
This is called the first time the full error is requested, the result is then memoized.
Reimplemented in TuringSim::Transition::Turing::TuringStyleInstructionListParserSyntaxErrorException< hT >, TuringSim::Transition::Turing::TuringStyleInstructionListParserBadInitializationException, TuringSim::Transition::ConfigurationDoesNotMatchException< TransitionType >, TuringSim::Symbol::TuringStyleMixedSymbolPatternSyntaxErrorException, TuringSim::Symbol::TuringStyleMixedSymbolPatternParserBadInitializationException, TuringSim::State::MConfiguration::MConfigurationParserBadInitializationException, TuringSim::State::MConfiguration::MConfigurationParserSyntaxErrorException, TuringSim::State::MConfiguration::PureVariableException< T, V >, TuringSim::State::MConfiguration::NoAlphaEquivalenceException< NodeType >, TuringSim::State::MConfiguration::NoUnificationException< NodeType >, TuringSim::Memory::Word::WordOverflowException, TuringSim::Memory::Stack::StackTooSmallException, TuringSim::Memory::MultiTape::TapeIndexOutOfBoundsException, TuringSim::Memory::MultiStack::StackIndexOutOfBoundsException, TuringSim::Memory::MultiStack::EmptyMultiStackException, TuringSim::Memory::ExistingModifierException< Memory, Modifier >, and TuringSim::Memory::InvalidFactorException.
Definition at line 74 of file messageException.h.
|
inlineexplicit |
Get the full error message.
Definition at line 56 of file messageException.h.

|
inlineoverridenoexcept |
Get the full error message.
Definition at line 48 of file messageException.h.