Include dependency graph for p99_try.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Defines | |
| #define | P99_CATCH(...) |
| Designate a block that is executed regardless of the exceptions that were encountered in the corresponding try block. | |
| #define | P99_FINALLY |
| Designate a block that is executed regardless of the exceptions that were encountered in the corresponding try block. | |
| #define | P99_RETHROW p00_jmp_throw(p00_code, p00_unwind_top, 0, 0, 0) |
| Stop execution at the current point inside a P99_FINALLY or P99_CATCH clause and propagate the same exception that led here to the next level. | |
| #define | P99_THROW(X) p00_jmp_throw((X), p00_unwind_top, P99_STRINGIFY(__LINE__), __func__, "throw") |
| Stop execution at the current point and signal an exception of value X to the next P99_TRY clause on the call stack, if any. | |
| #define | P99_THROW_CALL_NEG(F, E,...) P00_THROW_CALL_NEG(F, E, __VA_ARGS__) |
| Wrap a function call to F such that it throws an error on negative return. | |
| #define | P99_THROW_CALL_NEGATE(F, E,...) P00_THROW_CALL_NEGATE(F, E, __VA_ARGS__) |
| Wrap a function call to F such that it throws an error on negative return. | |
| #define | P99_THROW_CALL_RANGE(F,...) |
| Wrap a function call to F such that it throws an error on failure. | |
| #define | P99_THROW_CALL_RANGE_ARG_0 permitted |
| #define | P99_THROW_CALL_RANGE_ARG_1 permitted |
| #define | P99_THROW_CALL_RANGE_ARG_2 permitted |
| #define | P99_THROW_CALL_RANGE_ARG_3 permitted |
| #define | P99_THROW_CALL_RANGE_ARG_4 permitted |
| #define | P99_THROW_CALL_THRD(F,...) p00_throw_call_thrd(F(__VA_ARGS__), p00_unwind_top, P99_STRINGIFY(__LINE__), __func__, #F ", no thrd_success") |
| Wrap a "thread" function call to F such that it throws an error on failure. | |
| #define | P99_THROW_CALL_VOIDP(F, E,...) P00_THROW_CALL_VOIDP(F, E, __VA_ARGS__) |
| Wrap a function call to F such that it throws an error on invalid return. | |
| #define | P99_THROW_CALL_ZERO(F, E,...) p00_throw_call_zero(F(__VA_ARGS__), E, p00_unwind_top, P99_STRINGIFY(__LINE__), __func__, #F ", non-zero return") |
| Wrap a function call to F such that it throws an error on failure. | |
| #define | P99_THROW_ERRNO p00_throw_errno(p00_unwind_top, EINVAL, P99_STRINGIFY(__LINE__), __func__, "THROW_ERRNO") |
Capture, clean and throw the current value of errno. | |
| #define | P99_TRY |
| Create a block that can catch exceptions. | |
Functions | |
| struct | atomic_P99_PASTE2 (p00_lifo_, p00_jmp_buf0_ptr) p00_jmp_buf_top |
| a thread local variable | |
| void | p99_jmp_report (errno_t p00_cond) |
| Report the origin and cause of an error. | |
1.7.6.1