http://purl.org/tcl/home/man/tcl8.4/TclCmd/bgerror.htm is the official man page. As of Tcl 8.5, interp bgerror provides a more flexible handling of these things.
[fill in useful tricks and examples for using bgerror]
Does the documentation describe the calling convention? I didn't notice it. My experience is that the error-handler invokes it as something like
bgerror [firstLineOf $::errorInfo]
During development, one might rush a hack like
proc bgerror message { puts stderr "An event-based script faulted with '$message'." }
into use.
Ken: I want to enquire what is the best method if i got a proc that runs every 20s like the follow code but i want to catch its errors if any of the proc that run afterwards run into errors? I heard using bgerror is not recommended, so what is the best method?
proc a { } { [do something] after 1000 a }
KPV 2008/06/13 : NB. in 8.4 the default bgerror code is not tile aware. Thus, the following idiomatic (but incorrect) code will fail (more precisely, the bgerror code configures a scrollbar's -relief which tile doesn't allow):
package require -exact Tk 8.4 package require tile namespace import -force ::ttk::* after 10 asdf
Tcl syntax help Arts and crafts of Tcl-tk programming Category Command