Panic.3
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" See the file "license.terms" for information on usage and redistribution
  3. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  4. '" 
  5. '" RCS: @(#) $Id: Panic.3,v 1.3 2001/08/25 20:14:06 dgp Exp $
  6. '" 
  7. .so man.macros
  8. .TH Tcl_Panic 3 8.4 Tcl "Tcl Library Procedures"
  9. .BS
  10. '"  Note:  do not modify the .SH NAME line immediately below!
  11. .SH NAME
  12. Tcl_Panic, Tcl_PanicVA, Tcl_SetPanicProc, panic, panicVA - report fatal error and abort
  13. .SH SYNOPSIS
  14. .nf
  15. fB#include <tcl.h>fR
  16. .sp
  17. void
  18. fBTcl_PanicfR(fIformatfR, fIargfR, fIargfR, fI...fR)
  19. .sp
  20. void
  21. fBTcl_PanicVAfR(fIformatfR, fIargListfR)
  22. .sp
  23. void
  24. fBTcl_SetPanicProcfR(fIpanicProcfR)
  25. .sp
  26. void
  27. fBpanicfR(fIformatfR, fIargfR, fIargfR, fI...fR)
  28. .sp
  29. void
  30. fBpanicVAfR(fIformatfR, fIargListfR)
  31. .sp
  32. .SH ARGUMENTS
  33. .AS Tcl_PanicProc *panicProc
  34. .AP "CONST char*" format in
  35. A printf-style format string.
  36. .AP "" arg in
  37. Arguments matching the format string.
  38. .AP va_list argList in
  39. An argument list of arguments matching the format string.
  40. Must have been initialized using fBTCL_VARARGS_STARTfR,
  41. and cleared using fBva_endfR.
  42. .AP Tcl_PanicProc *panicProc in
  43. Procedure to report fatal error message and abort.
  44. .BE
  45. .SH DESCRIPTION
  46. .PP
  47. When the Tcl library detects that its internal data structures are in an
  48. inconsistent state, or that its C procedures have been called in a
  49. manner inconsistent with their documentation, it calls fBTcl_PanicfR
  50. to display a message describing the error and abort the process.  The
  51. fIformatfR argument is a format string describing how to format the
  52. remaining arguments fIargfR into an error message, according to the
  53. same formatting rules used by the fBprintffR family of functions.  The
  54. same formatting rules are also used by the builtin Tcl command
  55. fBformatfR.
  56. .PP
  57. In a freshly loaded Tcl library, fBTcl_PanicfR prints the formatted
  58. error message to the standard error file of the process, and then
  59. calls fBabortfR to terminate the process.  fBTcl_PanicfR does not
  60. return.
  61. .PP
  62. fBTcl_SetPanicProcfR may be used to modify the behavior of
  63. fBTcl_PanicfR.  The fIpanicProcfR argument should match the
  64. type fBTcl_PanicProcfR:
  65. .PP
  66. .CS
  67. typedef void Tcl_PanicProc(
  68. CONST char *fBformatfR,
  69. fBargfR, fBargfR,...);
  70. .CE
  71. .PP
  72. After fBTcl_SetPanicProcfR returns, any future calls to
  73. fBTcl_PanicfR will call fIpanicProcfR, passing along the
  74. fIformatfR and fIargfR arguments.  To maintain consistency with the
  75. callers of fBTcl_PanicfR, fIpanicProcfR must not return; it must
  76. call fBabortfR.  fIpanicProcfR should avoid making calls into the
  77. Tcl library, or into other libraries that may call the Tcl library,
  78. since the original call to fBTcl_PanicfR indicates the Tcl library is
  79. not in a state of reliable operation.  
  80. .PP
  81. The typical use of fBTcl_SetPanicProcfR arranges for the error message
  82. to be displayed or reported in a manner more suitable for the
  83. application or the platform.  As an example, the Windows implementation
  84. of fBwishfR calls fBTcl_SetPanicProcfR to force all panic messages
  85. to be displayed in a system dialog box, rather than to be printed to the
  86. standard error file (usually not visible under Windows).
  87. .PP
  88. Although the primary callers of fBTcl_PanicfR are the procedures of
  89. the Tcl library, fBTcl_PanicfR is a public function and may be called
  90. by any extension or application that wishes to abort the process and
  91. have a panic message displayed the same way that panic messages from Tcl
  92. will be displayed.
  93. .PP
  94. fBTcl_PanicVAfR is the same as fBTcl_PanicfR except that instead of
  95. taking a variable number of arguments it takes an argument list.  The
  96. procedures fBpanicfR and fBpanicVAfR are synonyms (implemented as
  97. macros) for fBTcl_PanicfR and fBTcl_PanicVAfR, respectively.  They
  98. exist to support old code; new code should use direct calls to
  99. fBTcl_PanicfR or fBTcl_PanicVAfR.
  100. .SH "SEE ALSO"
  101. abort(3), printf(3), exec(n), format(n)
  102. .SH KEYWORDS
  103. abort, fatal, error