XSetErrorHandler(3X) XSetErrorHandler(3X)
NAME
XSetErrorHandler, XGetErrorText, XDisplayName,
XSetIOErrorHandler, XGetErrorDatabaseText - default
error handlers
SYNOPSIS
XSetErrorHandler(handler)
int (*handler)(Display *, XErrorEvent *)
XGetErrorText(display, code, buffer_return, length)
Display *display;
int code;
char *buffer_return;
int length;
char *XDisplayName(string)
char *string;
XSetIOErrorHandler(handler)
int (*handler)(Display *);
XGetErrorDatabaseText(display, name, message,
default_string, buffer_return, length)
Display *display;
char *name, *message;
char *default_string;
char *buffer_return;
int length;
ARGUMENTS
buffer_return
Returns the error description.
code Specifies the error code for which you want
to obtain a description.
default_string
Specifies the default error message if none
is found in the database.
display Specifies the connection to the X server.
handler Specifies the program's supplied error
handler.
length Specifies the size of the buffer.
message Specifies the type of the error message.
name Specifies the name of the application.
string Specifies the character string.
- 1 -
XSetErrorHandler(3X) XSetErrorHandler(3X)
DESCRIPTION
Xlib generally calls the program's supplied error
handler whenever an error is received. It is not
called on BadName errors from OpenFont, LookupColor, or
AllocNamedColor protocol requests or on BadFont errors
from a QueryFont protocol request. These errors
generally are reflected back to the program through the
procedural interface. Because this condition is not
assumed to be fatal, it is acceptable for your error
handler to return. However, the error handler should
not call any functions (directly or indirectly) on the
display that will generate protocol requests or that
will look for input events.
The XGetErrorText function copies a null-terminated
string describing the specified error code into the
specified buffer. It is recommended that you use this
function to obtain an error description because
extensions to Xlib may define their own error codes and
error strings.
The XDisplayName function returns the name of the
display that XOpenDisplay would attempt to use. If a
NULL string is specified, XDisplayName looks in the
environment for the display and returns the display
name that XOpenDisplay would attempt to use. This
makes it easier to report to the user precisely which
display the program attempted to open when the initial
connection attempt failed.
The XSetIOErrorHandler sets the fatal I/O error
handler. Xlib calls the program's supplied error
handler if any sort of system call error occurs (for
example, the connection to the server was lost). This
is assumed to be a fatal condition, and the called
routine should not return. If the I/O error handler
does return, the client process exits.
The XGetErrorDatabaseText function returns a message
(or the default message) from the error message
database. Xlib uses this function internally to look
up its error messages. On a UNIX-based system, the
error message database is /usr/lib/X11/XErrorDB.
The name argument should generally be the name of your
application. The message argument should indicate
which type of error message you want. Xlib uses three
predefined message types to report errors (uppercase
and lowercase matter):
XProtoError
The protocol error number is used as a string
- 2 -
XSetErrorHandler(3X) XSetErrorHandler(3X)
for the message argument.
XlibMessage
These are the message strings that are used
internally by the library.
XRequest The major request protocol number is used for
the message argument. If no string is found
in the error database, the default_string is
returned to the buffer argument.
SEE ALSO
XSynchronize(3X11)
Xlib Programming Manual
- 3 -