Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

xterrormsghandler(2) [hpux man page]

XtErrorMsgHandler()													       XtErrorMsgHandler()

Name
  XtErrorMsgHandler - interface definition for high-level error and warning handler procedures.

Synopsis
  typedef void (*XtErrorMsgHandler)(String, String, String, String, String *, Cardinal *);
	 String name;
	 String type;
	 String class;
	 String defaultp;
	 String *params;
	 Cardinal *num_params;

Inputs
  name	    Specifies the name that is concatenated with the specified type to form the resource name of the error message.

  type	    Specifies the type that is concatenated with the name to form the resource name of the error message.

  class     Specifies the resource class of the error message.

  defaultp  Specifies the default message to use if no error database entry is found.

  params    Specifies a pointer to a list of values to be substituted in the message.

  num_params
	    Specifies the number of values in the parameter list.

Description
  An  XtErrorMsgHandler is registered as a high-level error or warning handler with XtAppSetErrorMsgHandler() or XtAppSetWarningMsgHandler().
  It is invoked by XtAppErrorMsg() or XtAppWarningMsg().

  An XtErrorMsgHandler should look up an error message of the specified name, type, and class in an error database of some sort, and  display
  the  message	it finds, or use the supplied default defaultp.  Whether a message is found in a database or the default message is used, the
  specified params should be substituted into the message using standard printf() substitutions before it is displayed.

Usage
  A custom high-level error or warning handler may find it useful to use XtAppGetErrorDatabase() or XtAppGetErrorDatabaseText().  This latter
  function looks up an error message in a standard X resource database by concatenating the name and type arguments into the resource name of
  the message and using class as the resource class of the message.  See XtAppGetErrorDatabaseText(1) for more details.

  A high-level error or warning handler should generally display the message it builds by calling the corresponding  low-level	handler  with
  XtAppError() or XtAppWarning().  This allows customization at two independent levels of abstraction.

  Usually,  the name argument will describe the general kind of error, such as invalidParameters or invalidWindow, and the type argument pro-
  vides extra information about the error, such as the name of the function in which the error was detected.

  Note that application-context-specific error handling is not implemented in MIT release, though the XtApp version of all the error handling
  routines are present.  Most implementation will support only a single set of error handlers for all application contexts, and if a new han-
  dler is registered in one app context, it will take effect in all contexts.

Example
  The example below shows the Intrinsics default error message handler:

     void _XtDefaultErrorMsg (name,type,class,defaultp,params,num_params)
	 String name,type,class,defaultp;
	 String* params;
	 Cardinal* num_params;
     {
	 char buffer[1000], message[1000];
	 XtGetErrorDatabaseText(name,type,class,defaultp, buffer, 1000);

	 /*need better solution here, perhaps use lower level printf primitives? */
	 if (params == NULL    num_params == NULL    *num_params == 0)
	     XtError(buffer);
	 else {
	     int i = *num_params;
	     String par[10];
	     if (i > 10) i = 10;
	     bcopy( (char*)params, (char*)par, i * sizeof(String) );
	     bzero( &par[i], (10-i) * sizeof(String) );
	     (void) sprintf(message, buffer, par[0], par[1], par[2], par[3],
			    par[4], par[5], par[6], par[7], par[8], par[9]);
	     XtError(message);
	     if (i != *num_params)
		 XtWarning( "some arguments in previous message were lost" );
	 }
     }

See Also
  XtAppErrorMsg(1), XtAppSetErrorMsgHandler(1), XtAppSetWarningMsgHandler(1), XtAppWarningMsg(1),
  XtErrorHandler(2).

Xt - Error Handling													       XtErrorMsgHandler()

Check Out this Related Man Page

XtAppWarningMsg()														 XtAppWarningMsg()

Name
  XtAppWarningMsg - call the high-level warning handler.

Synopsis
  void XtAppWarningMsg(app_context, name, type, class , default, params, num_params)
	 XtAppContext app_context;
	 String name;
	 String type;
	 String class;
	 String default;
	 String *params;
	 Cardinal *num_params;

Inputs
  app_context
	    Specifies the application context.

  name	    Specifies the general kind of error.

  type	    Specifies the detailed name of the error.

  class     Specifies the resource class.

  default   Specifies the default message to use if no message is found in the database.

  params    Specifies an array of values to be inserted into the message.

  num_params
	    Specifies the number of elements in params.

Description
  XtAppWarningMsg() passes all of its arguments except app_context to the installed high-level warning handler.  The default high-level warn-
  ing handler is _XtDefaultWarningMsg().  It calls XtAppGetErrorDatabaseText() to lookup a message of the specified name, type, and class  in
  the  error  database.   If  no  such	message is found, XtAppGetErrorDatabaseText() returns the specified default message.  In either case,
  _XtDefaultWarningMsg() does a printf-style substitution of params into the message, and passes the resulting text to the low-level  warning
  handler by calling XtWarning().

  See XtAppGetErrorDatabaseText() for details on how messages are looked up in the error database.

Usage
  To report fatal error messages and exit, use XtAppErrorMsg().  To change the high-level warning handler, use XtAppSetWarningMsgHandler().

  Note that the num_params argument to this function is a Cardinal *, not a Cardinal.

  Although  the  Intrinsics interface allows separate error and warning handlers for each application context, most implementations will sup-
  port only a single set of handlers.  When a new handler is installed, it will be used in all application contexts.

Example
  The following code is from XtDisplayStringConversionWarning():

     String params[2];
     Cardinal num_params = 2;

     params[0] = (String)from;
     params[1] = (String)toType;
     XtAppWarningMsg(XtDisplayToApplicationContext(dpy),
		     XtNconversionError, "string", XtCXtToolkitError,
		     "Cannot convert string to type %s",
		     params, &num_params);

See Also
  XtAppError(1), XtAppErrorMsg(1), XtAppSetErrorHandler(1), XtAppSetErrorMsgHandler(1), XtAppSetWarningHandler(1), XtAppSetWarningMsgHan-
  dler(1), XtAppWarning(1),
  XtErrorHandler(2), XtErrorMsgHandler(2).

Xt - Error Handling														 XtAppWarningMsg()
Man Page