VistaIOSetErrorHandler3
Register a procedure to be called on any fatal error
Usage
void VistaIOSetErrorHandler (VistaIOErrorHandler *handler);
typedef void VistaIOErrorHandler (VistaIOStringConst message);
void VistaIODefaultError (VistaIOStringConst message);
Arguments
handler
|
Specifies the new fatal error handler. |
|---|---|
message
|
Specifies a null-terminated error message string to be reported. |
Overview
VistaIOSetErrorHandler registers a procedure, handler, as the fatal error handler. That procedure is called by VistaIOError(3) or by VistaIOSystemError(3) to report any fatal error. When called, it is passed a string, message, containing a textual description of the error.
Only one procedure serves as the fatal error handler at any one time.
Prior to the first call to VistaIOSetErrorHandler, the procedure VistaIODefaultError is the fatal error handler. This procedure will write the error message to the standard error stream, then terminate the program by calling exit(3) with a status value of 1. VistaIODefaultError can be re-established as the fatal error handler at any time by calling VistaIOSetErrorHandler with a NULL argument.
Return values
A fatal error handler should never return.
Examples
To adopt an error handler that writes messages both to the standard error stream and to a log file, one might do the following:
FILE *log_file;
void MyErrorHandler (message)
VistaIOStringConst message;
{
fputs (message, stderr);
fputs (message, log_file);
exit (1);
}
int main (...)
{
...
log_file = fopen ("log", "w");
VistaIOSetErrorHandler (MyErrorHandler);
...
}
Releases
Unchanged in 6 releases since Debian 8 (Jessie).