Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
error-exception.cpp File Reference

Go to the source code of this file.

Description

implementation of C++-style error handling.

This compilation unit defines a custom exception class hierarchy, and is tightly integrated with the C-style error handling.

See also
error-state.c
error.hpp

Definition in file error-exception.cpp.

#include "lib/error.hpp"
#include "lib/meta/util.hpp"
#include "lib/util.hpp"
#include <exception>
#include <typeinfo>
#include <iostream>

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 ()
 
 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....")
 
 LUMIERA_ERROR_DEFINE (EXCEPTION,"generic Lumiera exception")
 
void lumiera_unexpectedException ()
 global function for handling unknown exceptions encountered at functions declaring not to throw this kind of exception. More...
 

Namespaces

 lumiera
 Lumiera public interface.
 
 lumiera::error