callstack_exception.hpp - mhahnFr/CallstackLibrary GitHub Wiki
This header defines an exception capable to print its construction stacktrace using the CallstackLibrary.
namespace lcs
The namespace all C++ classes of this library can be found in.
class exception: public std::exception
This class defines an exception capable to create and print the callstack where it initially has been constructed - usually where it was thrown.
[!NOTE] Added in version 1.1.
Constructors
explicit exception(const bool printStacktrace = true) LCS_NOEXCEPT
Trivial default constructor. The passed boolean value indicates whether to automatically append the stacktrace to the exception message.
explicit exception(const char* message, const bool printStacktrace = true) LCS_NOEXCEPT
Constructs an exception with the given message. The passed boolean value indicates whether to automatically append the stacktrace to the exception message.
The passed message is copied.
explicit exception(const std::string& message, const bool printStacktrace = true) LCS_NOEXCEPT
Constructs an exception with the given message. The passed boolean value indicates whether to automatically append the stacktrace to the exception message.
exception(const exception& other)
Trivial copy constructor.
exception(exception&&)
Trivial move constructor.
Only available if a compiler supporting C++11 is used.
Destructor
~exception() LCS_NOEXCEPT LCS_OVERRIDE
Trivial virtual destructor.
Methods
const char* what() const LCS_NOEXCEPT LCS_OVERRIDE
Returns the exception message.
If shouldPrintStacktrace is set to true the stacktrace of the construction of this exception object is appended
to the returned string.
void printStacktrace(std::ostream& out, const bool printMessage = true) const
Prints the stacktrace where this exception object has been constructed to the given output stream. The passed boolean value indicates whether to print the exception message as well.
void setPrintStacktrace(const bool printStacktrace) LCS_NOEXCEPT
Sets whether to automatically append the stacktrace to the exception message.
LCS_CONSTEXPR bool getPrintStacktrace() const LCS_NOEXCEPT
Returns whether the stacktrace is automatically appended to the exception message.
LCS_CONSTEXPR callstack& getCallstack() const LCS_NOEXCEPT
Returns the callstack object of where this exception object has been constructed.
LCS_CONSTEXPR const std::string& getMessage() const LCS_NOEXCEPT
Returns the message of this exception.
Variables
const std::string message
The message that can be optionally be thrown.
bool shouldPrintStacktrace
Indicates whether to automatically translate and add the callstack to the exception message.
mutable callstack cs
The callstack where this exception object was constructed.
mutable std::string messageBuffer
The message buffer.