Recoverable errors are handled by the ProXL Error handler and are any of the following types:
bad_request
bad_value
bad_window
bad_pixmap
bad_atom
bad_cursor
bad_font
bad_match
bad_drawable
bad_access
bad_alloc
bad_color
bad_gc
bad_id_choice
bad_name
bad_length
bad_implementation
ProXL routines do extensive checking of their arguments to try and detect invalid parameters before actually making a call to the X server. However, it is impossible to cover all the cases, and sometimes recoverable errors are signaled by the server.
Recoverable errors invoke a user-definable error handler. Under ProXL, the default error handler provided prints an error message and presents a list of options to the user.
The user can provide her own error handler routine, but it must be written in C and follow the guidelines set up for handlers under X11. The user should read the Xlib X11 documentation on errors and error handling before attempting to do this.