A panic library to abort execution on non-recoverable errors with a detailed message.
#include <stdio.h> #include <panic.h> double divide(const double dividend, const double divisor) { panic_when(0 == divisor); return dividend / divisor; } int main() { printf("%lf\r\n", divide(8, 0)); return 0; }
Output (with PANIC_UNWIND_SUPPORT enabled):
Traceback (most recent call last):
[0]: (main)
->-: (divide) current function
At: '/panic/examples/main.c:37'
Cause: `0 == divisor`
Disabled by default, prints a traceback with function calls useful for debugging.
Enable this feature running cmake -DPANIC_UNWIND_SUPPORT=1 by command line or setting option to ON in sources/build.cmake.
Note: In order to enable this feature libunwind is required.