|
#define | P99_CATCH(...) |
| Designate a block that is executed regardless of the exceptions that were encountered in the corresponding try block. More...
|
|
#define | P99_FINALLY |
| Designate a block that is executed regardless of the exceptions that were encountered in the corresponding try block. More...
|
|
#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. More...
|
|
#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. More...
|
|
#define | P99_THROW_ASSERT(E, ...) (void)p00_throw_call_zero(!(__VA_ARGS__), E, p00_unwind_top, P99_STRINGIFY(__LINE__), __func__, "failed assertion: ``" #__VA_ARGS__ "''") |
| Replacement for assert that throw a catchable exception. More...
|
|
#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. More...
|
|
#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. More...
|
|
#define | P99_THROW_CALL_NOT_ZERO(F, E, ...) p00_throw_call_zero(!F(__VA_ARGS__), E, p00_unwind_top, P99_STRINGIFY(__LINE__), __func__, #F ", zero return") |
| Wrap a function call to F such that it throws an error on failure. More...
|
|
#define | P99_THROW_CALL_RANGE(F, ...) |
| Wrap a function call to F such that it throws an error on failure. More...
|
|
#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. More...
|
|
#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. More...
|
|
#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. More...
|
|
#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 . More...
|
|
#define | P99_TRY |
| Create a block that can catch exceptions. More...
|
|