ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



Tcl_Panic(3)                               Tcl Library Procedures                               Tcl_Panic(3)



____________________________________________________________________________________________________________

NAME
       Tcl_Panic, Tcl_PanicVA, Tcl_SetPanicProc, panic, panicVA - report fatal error and abort

SYNOPSIS
       #include <tcl.h>

       void
       Tcl_Panic(format, arg, arg, ...)

       void
       Tcl_PanicVA(format, argList)

       void
       Tcl_SetPanicProc(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.

       va_list         argList      (in)      An  argument  list  of  arguments  matching the format string.
                                              Must  have  been  initialized  using  TCL_VARARGS_START,   and
                                              cleared using va_end.

       Tcl_PanicProc   *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
       Tcl_Panic  to display a message describing the error and abort the process.  The format 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, Tcl_Panic prints the formatted error message to the  standard  error
       file of the process, and then calls abort to terminate the process.  Tcl_Panic does not return.

       Tcl_SetPanicProc  may  be  used  to  modify the behavior of Tcl_Panic.  The panicProc argument should
       match the type Tcl_PanicProc:

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

       After Tcl_SetPanicProc returns, any future calls to Tcl_Panic will call panicProc, passing along  the
       format  and arg arguments.  To maintain consistency with the callers of Tcl_Panic, 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 Tcl_Panic indicates the Tcl
       library is not in a state of reliable operation.

       The typical use of Tcl_SetPanicProc 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 Tcl_SetPanicProc 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 Tcl_Panic are the procedures of the Tcl library, Tcl_Panic is a pub-lic public
       lic function and may be called by any extension 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.

       Tcl_PanicVA  is the same as Tcl_Panic 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
       Tcl_Panic  and Tcl_PanicVA, respectively.  They exist to support old code; new code should use direct
       calls to Tcl_Panic or Tcl_PanicVA.


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


KEYWORDS
       abort, fatal, error




Tcl                                                  8.4                                        Tcl_Panic(3)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.