A utility library for wrapping arbitrary errors, and for “throwing” errors in a way that can be caught by user-defined error hooks.