blob: e0efe29bf3e9cb53b30c16fae1efdf12a436c50e (
plain) (
tree)
|
|
A library that provides a single interface for error handling.
Specifically this is intended for cases where some errors are
errno errors or other libc errors and there are library
specific, maybe multiple library, errors.
The errors are thread-local, support error description, error
source string (which function failed), and error code with
error code group (e.g. "errno", "addrinfo" or a library name),
as well as cause chains, extended details, and if linked
together with liberror-backtrace, backtraces.
The important functions are:
liberror_get_error
Get error for the calling thread
liberror_set_error
Set error for the calling thread
liberror_set_error_errno
Wrapper for liberror_set_error for errno errors
liberror_reset_error
Remove error for the calling thread, needed
because `liberror_set_error` otherwise stores
the error as the cause of the new error
liberror_print_error
Print the error for the calling thread, include
its backtrace if liberror-backtrace is also
linked, the errors cause, and optionally remove
the error for the calling thread.
|