Defines | |
| #define | exn_try (if (exn_function_try())) |
| Wrapper for exn_function_try. | |
| #define | exn_catch (th) (if ( th = exn_function_catch())) |
| Wrapper for exn_function_catch. | |
| #define | ASSERT_THROW_AREA assert(is_unwindable()); |
| #define | ASSERT_RAISE_AREA assert(!is_unwindable()); |
| #define | BEGIN_RAISE_AREA |
| #define | END_RAISE_AREA |
Functions | |
| VMEXPORT jthrowable | exn_get () |
| Returns the thread-local exception object or NULL if no exception occured. | |
| VMEXPORT Class * | exn_get_class () |
| VMEXPORT const char * | exn_get_name () |
| VMEXPORT bool | exn_raised () |
| Returns true if the thread-local exception object is set. | |
| VMEXPORT void | exn_clear () |
| Clears the thread-local exception object. | |
| jthrowable | exn_create (Exception *exception) |
| Creates exception object. | |
| jthrowable | exn_create (Class *exc_class) |
| jthrowable | exn_create (Class *exc_class, jthrowable cause) |
| jthrowable | exn_create (Class *exc_class, const char *message) |
| jthrowable | exn_create (Class *exc_class, const char *message, jthrowable cause) |
| VMEXPORT jthrowable | exn_create (const char *exc_name) |
| Creates exception object. | |
| VMEXPORT jthrowable | exn_create (const char *exc_name, jthrowable cause) |
| Creates exception object. | |
| VMEXPORT jthrowable | exn_create (const char *exc_name, const char *message) |
| Creates exception object. | |
| VMEXPORT jthrowable | exn_create (const char *exc_name, const char *message, jthrowable cause) |
| Creates exception object. | |
| VMEXPORT bool | is_unwindable () |
| Returns true if frame is unwindable and false if isn't. | |
| bool | set_unwindable (bool unwindable) |
| Sets unwindable property of frame. | |
| void | exn_throw_object (jthrowable exc_object) |
| Throws an exception object. | |
| void | exn_throw_by_class (Class *exc_class) |
| Throws an exceptionas lazy. | |
| void | exn_throw_by_class (Class *exc_class, jthrowable exc_cause) |
| void | exn_throw_by_class (Class *exc_class, const char *exc_message) |
| void | exn_throw_by_class (Class *exc_class, const char *exc_message, jthrowable exc_cause) |
| VMEXPORT void | exn_throw_by_name (const char *exception_name) |
| Throws an exceptionas lazy. | |
| VMEXPORT void | exn_throw_by_name (const char *exception_name, jthrowable cause) |
| Throws an exceptionas lazy. | |
| VMEXPORT void | exn_throw_by_name (const char *exception_name, const char *message) |
| Throws an exceptionas lazy. | |
| VMEXPORT void | exn_throw_by_name (const char *exception_name, const char *message, jthrowable cause) |
| Throws an exceptionas lazy. | |
| VMEXPORT void | exn_raise_object (jthrowable exc_object) |
| Sets exceptions as a thread local exception. | |
| void | exn_raise_by_class (Class *exc_class) |
| Sets exception lazy as a thread local exception. | |
| void | exn_raise_by_class (Class *exc_class, jthrowable exc_cause) |
| void | exn_raise_by_class (Class *exc_class, const char *exc_message) |
| void | exn_raise_by_class (Class *exc_class, const char *exc_message, jthrowable exc_cause) |
| VMEXPORT void | exn_raise_by_name (const char *exception_name) |
| Sets exception lazy as a thread local exception. | |
| VMEXPORT void | exn_raise_by_name (const char *exception_name, jthrowable exc_cause) |
| Sets exception lazy as a thread local exception. | |
| VMEXPORT void | exn_raise_by_name (const char *exception_name, const char *message) |
| Sets exception lazy as a thread local exception. | |
| VMEXPORT void | exn_raise_by_name (const char *exception_name, const char *message, jthrowable exc_cause) |
| Sets exception lazy as a thread local exception. | |
| bool | exn_function_try () |
| Pushes dummy non-unwindable stack frame in order to prevent stack unwinding. | |
| jthrowable | exn_function_catch () |
| pops dummy non-unwindable stack frame | |
| void | exn_print_stack_trace (FILE *f, jthrowable exc) |
| void | print_uncaught_exception_message (FILE *f, char *context_message, jthrowable exc) |
| void | exn_rethrow () |
| void | exn_rethrow_if_pending () |
| bool | set_guard_stack () |
| void | remove_guard_stack (vm_thread_t vm_thread) |
| void | init_stack_info () |
| void * | get_exception_catch_stack_addr (void *curr_ip) |
| VMEXPORT size_t | get_available_stack_size () |
| VMEXPORT bool | check_available_stack_size (size_t required_size) |
| VMEXPORT size_t | get_default_stack_size () |
| VMEXPORT size_t | get_restore_stack_size () |
| bool | check_stack_size_enough_for_exception_catch (void *sp) |
| #define exn_try (if (exn_function_try())) |
Wrapper for exn_function_try.
| #define exn_catch (th) (if ( th = exn_function_catch())) |
Wrapper for exn_function_catch.
| #define ASSERT_THROW_AREA assert(is_unwindable()); |
| #define ASSERT_RAISE_AREA assert(!is_unwindable()); |
| #define BEGIN_RAISE_AREA |
Value:
{ \
bool unwindable = set_unwindable(false);\
if (unwindable) exn_rethrow_if_pending();
| #define END_RAISE_AREA |
Value:
if (unwindable) exn_rethrow_if_pending();\ set_unwindable(unwindable);\ }
| VMEXPORT jthrowable exn_get | ( | ) |
Returns the thread-local exception object or NULL if no exception occured.
| VMEXPORT Class* exn_get_class | ( | ) |
| VMEXPORT const char* exn_get_name | ( | ) |
| VMEXPORT bool exn_raised | ( | ) |
Returns true if the thread-local exception object is set.
| VMEXPORT void exn_clear | ( | ) |
Clears the thread-local exception object.
| jthrowable exn_create | ( | Exception * | exception | ) |
Creates exception object.
| jthrowable exn_create | ( | Class * | exc_class | ) |
| jthrowable exn_create | ( | Class * | exc_class, | |
| jthrowable | cause | |||
| ) |
| jthrowable exn_create | ( | Class * | exc_class, | |
| const char * | message | |||
| ) |
| jthrowable exn_create | ( | Class * | exc_class, | |
| const char * | message, | |||
| jthrowable | cause | |||
| ) |
| VMEXPORT jthrowable exn_create | ( | const char * | exc_name | ) |
Creates exception object.
| VMEXPORT jthrowable exn_create | ( | const char * | exc_name, | |
| jthrowable | cause | |||
| ) |
Creates exception object.
| VMEXPORT jthrowable exn_create | ( | const char * | exc_name, | |
| const char * | message | |||
| ) |
Creates exception object.
| VMEXPORT jthrowable exn_create | ( | const char * | exc_name, | |
| const char * | message, | |||
| jthrowable | cause | |||
| ) |
Creates exception object.
| VMEXPORT bool is_unwindable | ( | ) |
Returns true if frame is unwindable and false if isn't.
| bool set_unwindable | ( | bool | unwindable | ) |
Sets unwindable property of frame.
If frame is unwindable property should be true and should be false if frame isn't unwindable. Returns previous value of unwindable property.
| void exn_throw_object | ( | jthrowable | exc_object | ) |
Throws an exception object.
| void exn_throw_by_class | ( | Class * | exc_class | ) |
Throws an exceptionas lazy.
Does not return in case of destructive exception propagation.
| void exn_throw_by_class | ( | Class * | exc_class, | |
| jthrowable | exc_cause | |||
| ) |
| void exn_throw_by_class | ( | Class * | exc_class, | |
| const char * | exc_message | |||
| ) |
| void exn_throw_by_class | ( | Class * | exc_class, | |
| const char * | exc_message, | |||
| jthrowable | exc_cause | |||
| ) |
| VMEXPORT void exn_throw_by_name | ( | const char * | exception_name | ) |
Throws an exceptionas lazy.
Does not return in case of destructive exception propagation.
| VMEXPORT void exn_throw_by_name | ( | const char * | exception_name, | |
| jthrowable | cause | |||
| ) |
Throws an exceptionas lazy.
Does not return in case of destructive exception propagation.
| VMEXPORT void exn_throw_by_name | ( | const char * | exception_name, | |
| const char * | message | |||
| ) |
Throws an exceptionas lazy.
Does not return in case of destructive exception propagation.
| VMEXPORT void exn_throw_by_name | ( | const char * | exception_name, | |
| const char * | message, | |||
| jthrowable | cause | |||
| ) |
Throws an exceptionas lazy.
Does not return in case of destructive exception propagation.
| VMEXPORT void exn_raise_object | ( | jthrowable | exc_object | ) |
Sets exceptions as a thread local exception.
| void exn_raise_by_class | ( | Class * | exc_class | ) |
Sets exception lazy as a thread local exception.
explicit non-destructive semantics should be deduced from context.
| void exn_raise_by_class | ( | Class * | exc_class, | |
| jthrowable | exc_cause | |||
| ) |
| void exn_raise_by_class | ( | Class * | exc_class, | |
| const char * | exc_message | |||
| ) |
| void exn_raise_by_class | ( | Class * | exc_class, | |
| const char * | exc_message, | |||
| jthrowable | exc_cause | |||
| ) |
| VMEXPORT void exn_raise_by_name | ( | const char * | exception_name | ) |
Sets exception lazy as a thread local exception.
| VMEXPORT void exn_raise_by_name | ( | const char * | exception_name, | |
| jthrowable | exc_cause | |||
| ) |
Sets exception lazy as a thread local exception.
| VMEXPORT void exn_raise_by_name | ( | const char * | exception_name, | |
| const char * | message | |||
| ) |
Sets exception lazy as a thread local exception.
| VMEXPORT void exn_raise_by_name | ( | const char * | exception_name, | |
| const char * | message, | |||
| jthrowable | exc_cause | |||
| ) |
Sets exception lazy as a thread local exception.
| bool exn_function_try | ( | ) |
Pushes dummy non-unwindable stack frame in order to prevent stack unwinding.
After this returns true. If unwinding is happnened control coming back into this function, and after this it returns false.
| jthrowable exn_function_catch | ( | ) |
pops dummy non-unwindable stack frame
returns the current thread exception object or NULL if no exception occured.
| void exn_print_stack_trace | ( | FILE * | f, | |
| jthrowable | exc | |||
| ) |
| void print_uncaught_exception_message | ( | FILE * | f, | |
| char * | context_message, | |||
| jthrowable | exc | |||
| ) |
| void exn_rethrow | ( | ) |
| void exn_rethrow_if_pending | ( | ) |
| bool set_guard_stack | ( | ) |
| void remove_guard_stack | ( | vm_thread_t | vm_thread | ) |
| void init_stack_info | ( | ) |
| void* get_exception_catch_stack_addr | ( | void * | curr_ip | ) |
| VMEXPORT size_t get_available_stack_size | ( | ) |
| VMEXPORT bool check_available_stack_size | ( | size_t | required_size | ) |
| VMEXPORT size_t get_default_stack_size | ( | ) |
| VMEXPORT size_t get_restore_stack_size | ( | ) |
| bool check_stack_size_enough_for_exception_catch | ( | void * | sp | ) |
Genereated on Tue Mar 11 19:25:22 2008 by Doxygen.
(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.