MyWebUniversity.com Home Page
 



Darwin Mac OS X man pages main menu
TclPanic(3)                Tcl Library Procedures                TclPanic(3)





NAME
       TclPanic, TclPanicVA, TclSetPanicProc, panic, panicVA - report fatal
       error and abort

SYNOPSIS
       ##include <>

       void
       TclPanic(format, arg, arg, ...)

       void
       TclPanicVA(format, argList)

       void
       TclSetPanicProc(panicProc)

       void
       panic(format, arg, arg, ...)

       void
       panicVA(format, argList)


ARGUMENTS
       CONST char*     format       (in)      A printf-style format string.

                       arg          (in)      Arguments  matching  the  format
                                              string.

       valist         argList      (in)      An  argument  list  of arguments
                                              matching  the   format   string.
                                              Must have been initialized using
                                              TCLVARARGSTART,  and  cleared
                                              using vaend.

       TclPanicProc   *panicProc   (in)      Procedure  to report fatal error
                                              message and abort.




DESCRIPTION
       When the Tcl library detects that its internal data structures  are  in
       an  inconsistent  state, or that its C procedures have been called in a
       manner inconsistent with their documentation,  it  calls  TclPanic  to
       display a message describing the error and abort the process.  The for-
       mat argument is a format string describing how to format the  remaining
       arguments  arg  into an error message, according to the same formatting
       rules used by the printf family  of  functions.   The  same  formatting
       rules are also used by the builtin Tcl command format.

       In  a  freshly loaded Tcl library, TclPanic prints the formatted error
       message to the standard error file of the process, and then calls abort
       to terminate the process.  TclPanic does not return.

       TclSetPanicProc  may be used to modify the behavior of TclPanic.  The
       panicProc argument should match the type TclPanicProc:

              typedef void TclPanicProc(
                CONST char *format,
                arg, arg,...);

       After TclSetPanicProc returns, any future calls to TclPanic will call
       panicProc,  passing  along  the  format and arg arguments.  To maintain
       consistency with the callers of TclPanic, panicProc must  not  return;
       it  must  call abort.  panicProc should avoid making calls into the Tcl
       library, or into other libraries that may call the Tcl  library,  since
       the  original  call  to TclPanic indicates the Tcl library is not in a
       state of reliable operation.

       The typical use of TclSetPanicProc arranges for the error  message  to
       be  displayed or reported in a manner more suitable for the application
       or the platform.  As an example, the  Windows  implementation  of  wish
       calls TclSetPanicProc to force all panic messages to be displayed in a
       system dialog box, rather than to be printed to the standard error file
       (usually not visible under Windows).

       Although the primary callers of TclPanic are the procedures of the Tcl
       library, TclPanic is a public function and may be called by any exten-
       sion  or  application that wishes to abort the process and have a panic
       message displayed the same way that panic messages  from  Tcl  will  be
       displayed.

       TclPanicVA  is  the  same as TclPanic except that instead of taking a
       variable number of arguments it takes an argument list.  The procedures
       panic  and  panicVA  are synonyms (implemented as macros) for TclPanic
       and TclPanicVA, respectively.  They exist to  support  old  code;  new
       code should use direct calls to TclPanic or TclPanicVA.


SEE ALSO
       abort(3), printf(3), exec(n), format(n)


KEYWORDS
       abort, fatal, error




Tcl                                   8.4                         TclPanic(3)
Darwin Mac OS X man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™