Manual Pages for UNIX Darwin command on man bgerror
MyWebUniversity

Manual Pages for UNIX Darwin command on man bgerror

bgerror(n) Tcl Built-In Commands bgerror(n)

NAME

bgerror - Command invoked to process background errors

SYNOPSIS

bbggeerrrroorr message

DESCRIPTION

The bbggeerrrroorr command doesn't exist as built-in part of Tcl. Instead,

individual applications or users can define a bbggeerrrroorr command (e.g. as a Tcl procedure) if they wish to handle background errors. A background error is one that occurs in an event handler or some other command that didn't originate with the application. For example, if an

error occurs while executing a command specified with the aafftteerr com-

mand, then it is a background error. For a non-background error, the

error can simply be returned up through nested Tcl command evaluations

until it reaches the top-level code in the application; then the appli-

cation can report the error in whatever way it wishes. When a back-

ground error occurs, the unwinding ends in the Tcl library and there is no obvious way for Tcl to report the error. When Tcl detects a background error, it saves information about the error and invokes the bbggeerrrroorr command later as an idle event handler.

Before invoking bbggeerrrroorr, Tcl restores the eerrrroorrIInnffoo and eerrrroorrCCooddee vari-

ables to their values at the time the error occurred, then it invokes bbggeerrrroorr with the error message as its only argument. Tcl assumes that

the application has implemented the bbggeerrrroorr command, and that the com-

mand will report the error in a way that makes sense for the applica-

tion. Tcl will ignore any result returned by the bbggeerrrroorr command as long as no error is generated. If another Tcl error occurs within the bbggeerrrroorr command (for example, because no bbggeerrrroorr command has been defined) then Tcl reports the error itself by writing a message to stderr. If several background errors accumulate before bbggeerrrroorr is invoked to process them, bbggeerrrroorr will be invoked once for each error, in the order they occurred. However, if bbggeerrrroorr returns with a break exception, then any remaining errors are skipped without calling bbggeerrrroorr. Tcl has no default implementation for bbggeerrrroorr. However, in applications using Tk there is a default bbggeerrrroorr procedure which posts a dialog box containing the error message and offers the user a chance to see a stack trace showing where the error occurred. In addition to allowing the user to view the stack trace, the dialog provides an additional application configurable button which may be used, for example, to save the stack trace to a file. By default, this is the behavior associated with that button. This behavior can be redefined by setting the option database values **EErrrroorrDDiiaalloogg..ffuunnccttiioonn..tteexxtt, to specify the caption for the function button, and **EErrrroorrDDiiaalloogg..ffuunnccttiioonn..ccoommmmaanndd, to specify the

command to be run. The text of the stack trace is appended to the com-

mand when it is evaluated. If either of these options is set to the empty string, then the additional button will not be displayed in the dialog.

SEE ALSO

after(n), tclvars(n) KKEEYYWWOORRDDSS background error, reporting

Tcl 7.5 bgerror(n)




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