Index of Section 3 Manual Pages

Interix / SUATcl_Panic.3Interix / SUA

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 

       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 for-
                                              mat string.

                       arg          (in)      Arguments  matching
                                              the format  string.

       va_list         argList      (in)      An argument list of
                                              arguments  matching
                                              the  format string.
                                              Must have been ini-
                                              tialized      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 struc-
       tures  are  in an inconsistent state, or that its C proce-
       dures 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 for-
       matted 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 suit-
       able  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 proce-
       dures of the Tcl library, Tcl_Panic is a  public  function
       and  may  be  called  by any extension or application that
       wishes to abort the process and have a panic message  dis-
       played  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 argu-
       ment 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)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA