![]() |
Lumiera
0.pre.03
»edityourfreedom«
|
Typedefs | |
using | Config = LumieraError< LERR_(CONFIG), Invalid > |
using | External = LumieraError< LERR_(EXTERNAL)> |
using | Fatal = LumieraError< LERR_(FATAL), Logic > |
using | Flag = LumieraError< LERR_(FLAG), State > |
using | Invalid = LumieraError< LERR_(INVALID)> |
using | Logic = LumieraError< LERR_(LOGIC)> |
using | State = LumieraError< LERR_(STATE)> |
Classes | |
class | LumieraError |
Derived specific exceptions within Lumiera's exception hierarchy. More... | |
Functions | |
void | assertion_terminate (const string &location) |
throw an error::Fatal indicating "assertion failure" More... | |
const string | default_usermsg (Error *) noexcept |
the message shown to the user per default if an exception reaches one of the top-level catch clauses. More... | |
CStr | detailInfo () |
void | install_unexpectedException_handler () |
install our own handler for undeclared exceptions. More... | |
LUMIERA_ERROR_DECLARE (LOGIC) | |
contradiction to internal logic assumptions detected More... | |
LUMIERA_ERROR_DECLARE (FATAL) | |
unable to cope with, internal logic floundered More... | |
LUMIERA_ERROR_DECLARE (CONFIG) | |
execution aborted due to misconfiguration More... | |
LUMIERA_ERROR_DECLARE (STATE) | |
unforeseen internal state More... | |
LUMIERA_ERROR_DECLARE (FLAG) | |
non-cleared lumiera errorstate from C code More... | |
LUMIERA_ERROR_DECLARE (INVALID) | |
invalid input or parameters encountered More... | |
LUMIERA_ERROR_DECLARE (EXTERNAL) | |
failure in external service the application relies on More... | |
LUMIERA_ERROR_DECLARE (ASSERTION) | |
assertion failure More... | |
LUMIERA_ERROR_DECLARE (LIFECYCLE) | |
Lifecycle assumptions violated. More... | |
LUMIERA_ERROR_DECLARE (WRONG_TYPE) | |
runtime type mismatch More... | |
LUMIERA_ERROR_DECLARE (ITER_EXHAUST) | |
end of sequence reached More... | |
LUMIERA_ERROR_DECLARE (CAPACITY) | |
predefined fixed storage capacity More... | |
LUMIERA_ERROR_DECLARE (INDEX_BOUNDS) | |
index out of bounds More... | |
LUMIERA_ERROR_DECLARE (BOTTOM_VALUE) | |
invalid or NIL value More... | |
LUMIERA_ERROR_DECLARE (UNCONNECTED) | |
missing connection More... | |
LUMIERA_ERROR_DECLARE (UNIMPLEMENTED) | |
unimplemented feature More... | |
LUMIERA_ERROR_DEFINE (LOGIC,"internal logic broken") | |
LUMIERA_ERROR_DEFINE (FATAL,"floundered") | |
LUMIERA_ERROR_DEFINE (CONFIG,"misconfiguration") | |
LUMIERA_ERROR_DEFINE (STATE,"unforeseen state") | |
LUMIERA_ERROR_DEFINE (FLAG,"non-cleared lumiera errorstate") | |
LUMIERA_ERROR_DEFINE (INVALID,"invalid input or parameters") | |
LUMIERA_ERROR_DEFINE (EXTERNAL,"failure in external service") | |
LUMIERA_ERROR_DEFINE (ASSERTION,"assertion failure") | |
LUMIERA_ERROR_DEFINE (LIFECYCLE,"Lifecycle assumptions violated") | |
LUMIERA_ERROR_DEFINE (WRONG_TYPE,"runtime type mismatch") | |
LUMIERA_ERROR_DEFINE (ITER_EXHAUST,"end of sequence reached") | |
LUMIERA_ERROR_DEFINE (CAPACITY,"predefined fixed storage capacity") | |
LUMIERA_ERROR_DEFINE (INDEX_BOUNDS,"index out of bounds") | |
LUMIERA_ERROR_DEFINE (BOTTOM_VALUE,"invalid or NIL value") | |
LUMIERA_ERROR_DEFINE (UNCONNECTED,"missing connection") | |
LUMIERA_ERROR_DEFINE (UNIMPLEMENTED,"using a feature not yet implemented....") | |
void | lumiera_unexpectedException () |
global function for handling unknown exceptions encountered at functions declaring not to throw this kind of exception. More... | |
using Logic = LumieraError<LERR_(LOGIC)> |
using State = LumieraError<LERR_(STATE)> |
using Invalid = LumieraError<LERR_(INVALID)> |
using External = LumieraError<LERR_(EXTERNAL)> |
|
inlinenoexcept |
the message shown to the user per default if an exception reaches one of the top-level catch clauses.
to be localised
develop a framework to set more specific yet friendly messages
Definition at line 58 of file error-exception.cpp.
CStr detailInfo | ( | ) |
Definition at line 64 of file error-exception.cpp.
References util::isnil(), and lumiera_error_extra().
Referenced by lumiera::maybeThrow(), and lumiera::throwOnError().
lumiera::error::LUMIERA_ERROR_DEFINE | ( | LOGIC | , |
"internal logic broken" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | FATAL | , |
"floundered" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | CONFIG | , |
"misconfiguration" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | STATE | , |
"unforeseen state" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | FLAG | , |
"non-cleared lumiera errorstate" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | INVALID | , |
"invalid input or parameters" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | EXTERNAL | , |
"failure in external service" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | ASSERTION | , |
"assertion failure" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | LIFECYCLE | , |
"Lifecycle assumptions violated" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | WRONG_TYPE | , |
"runtime type mismatch" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | ITER_EXHAUST | , |
"end of sequence reached" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | CAPACITY | , |
"predefined fixed storage capacity" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | INDEX_BOUNDS | , |
"index out of bounds" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | BOTTOM_VALUE | , |
"invalid or NIL value" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | UNCONNECTED | , |
"missing connection" | |||
) |
lumiera::error::LUMIERA_ERROR_DEFINE | ( | UNIMPLEMENTED | , |
"using a feature not yet implemented...." | |||
) |
|
noexcept |
global function for handling unknown exceptions encountered at functions declaring not to throw this kind of exception.
Basically, any such event can be considered a severe design flaw; we can just add some diagnostics prior to halting.
Definition at line 179 of file error-exception.cpp.
References util::cStr(), Error::getID(), Error::getUsermsg(), util::isnil(), lumiera_error(), Error::rootCause(), lib::meta::typeStr(), and Error::what().
Referenced by AllocationCluster::~AllocationCluster().
void assertion_terminate | ( | const string & | location | ) |
throw an error::Fatal indicating "assertion failure"
Definition at line 220 of file error-exception.cpp.
lumiera::error::LUMIERA_ERROR_DECLARE | ( | LOGIC | ) |
contradiction to internal logic assumptions detected
lumiera::error::LUMIERA_ERROR_DECLARE | ( | FATAL | ) |
unable to cope with, internal logic floundered
lumiera::error::LUMIERA_ERROR_DECLARE | ( | CONFIG | ) |
execution aborted due to misconfiguration
lumiera::error::LUMIERA_ERROR_DECLARE | ( | STATE | ) |
unforeseen internal state
lumiera::error::LUMIERA_ERROR_DECLARE | ( | FLAG | ) |
non-cleared lumiera errorstate from C code
lumiera::error::LUMIERA_ERROR_DECLARE | ( | INVALID | ) |
invalid input or parameters encountered
lumiera::error::LUMIERA_ERROR_DECLARE | ( | EXTERNAL | ) |
failure in external service the application relies on
lumiera::error::LUMIERA_ERROR_DECLARE | ( | ASSERTION | ) |
assertion failure
lumiera::error::LUMIERA_ERROR_DECLARE | ( | LIFECYCLE | ) |
Lifecycle assumptions violated.
lumiera::error::LUMIERA_ERROR_DECLARE | ( | WRONG_TYPE | ) |
runtime type mismatch
lumiera::error::LUMIERA_ERROR_DECLARE | ( | ITER_EXHAUST | ) |
end of sequence reached
lumiera::error::LUMIERA_ERROR_DECLARE | ( | CAPACITY | ) |
predefined fixed storage capacity
lumiera::error::LUMIERA_ERROR_DECLARE | ( | INDEX_BOUNDS | ) |
index out of bounds
lumiera::error::LUMIERA_ERROR_DECLARE | ( | BOTTOM_VALUE | ) |
invalid or NIL value
lumiera::error::LUMIERA_ERROR_DECLARE | ( | UNCONNECTED | ) |
missing connection
lumiera::error::LUMIERA_ERROR_DECLARE | ( | UNIMPLEMENTED | ) |
unimplemented feature
void lumiera::error::install_unexpectedException_handler | ( | ) |
install our own handler for undeclared exceptions.
Will be called automatically ON_BASIC_INIT when linking exception.cpp