39 #ifndef L4_CXX_NO_EXCEPTION_BACKTRACE 40 # define L4_CXX_EXCEPTION_BACKTRACE 20 43 #if defined(L4_CXX_EXCEPTION_BACKTRACE) 64 #if defined(L4_CXX_EXCEPTION_BACKTRACE) 84 void const *
const *
pc_array()
const throw() {
return _pc_array; }
100 void const *
const *
pc_array()
const throw() {
return 0; }
126 virtual char const *str()
const throw () = 0;
160 for (; i <
sizeof(_extra) && extra[i]; ++i)
161 _extra[i] = extra[i];
162 _extra[i <
sizeof(_extra) ? i :
sizeof(_extra) - 1] = 0;
165 char const *
str()
const throw ()
166 {
return l4sys_errtostr(_errno); }
181 long err_no()
const throw() {
return _errno; }
223 char const *
str()
const throw() {
return "unknown error"; }
256 template<
typename T>
258 char const *
str()
const throw() {
return "invalid object"; }
303 o <<
"Exception: " << e.
str() <<
", backtrace ...\n";
314 o <<
"Exception: " << e.
str() <<
": ";
317 o <<
"backtrace ...\n";
Base class for all exceptions, thrown by the L4Re framework.
Exception for an unknown condition.
Base_exception()
Create a base exception.
Error conditions during IPC.
Indicates that an invalid object was invoked.
Out_of_memory(char const *extra="")
Create an out-of-memory exception.
Exception signalling insufficient memory.
Back-trace support for exceptions.
Com_error(long err)
Create a Com_error for the givel L4 IPC error code.
Exception for a failed lookup (element not found).
char const * extra_str() const
Get the description text for this runtime error.
Invalid_capability(Cap< void > const &o)
Create an Invalid_obejct exception for the Object o.
L4 low-level kernel interface.
~Out_of_memory()
Destruction.
virtual ~Base_exception()
Destruction.
L4::Cap related definitions.
Exception for an abstract runtime error.
Exception for duplicate element insertions.
Runtime_error(long err_no, char const *extra=0)
Create a new Runtime_error.
char const * str() const
Return a human readable string for the exception.
char const * str() const
Return a human readable string for the exception.
l4_cap_idx_t cap() const
Return capability selector.
int frame_count() const
Get the number of entries that are valid in the call trace.
virtual char const * str() const =0
Return a human readable string for the exception.
int l4util_backtrace(void **pc_array, int max_len)
Fill backtrace structure.
#define L4_CXX_EXCEPTION_BACKTRACE
Number of instruction pointers in backtrace.
C++ interface for capabilities.
unsigned long l4_addr_t
Address type.
void const *const * pc_array() const
Get the array containing the call trace.
Exception_tracer()
Create a back trace.
long err_no() const
Get the error value for this runtime error.
Cap< void > const & cap() const
Get the object that caused the error.
char const * str() const
Return a human readable string for the exception.