Maybe it is intended functionality, but it caught me by surprise: when
in an event loop error does not terminate the program.
I have the following code:
#!/usr/bin/env tclsh
proc displayMessage {message} {
puts [format "%s: %s" [clock format [clock seconds] -format %T] ${message}]
}
proc generateError {} {
puts "Generating an error to show problem."
error "Does not terminate when there is an event loop"
}
proc loopDisplayMessage {} {
displayMessage "Just some text to show problem"
after [expr {15 * 1000}] loopDisplayMessage
}
loopDisplayMessage
after [expr {60 * 1000}] generateError
vwait forever
And this gives:
10:29:42: Just some text to show problem
10:29:57: Just some text to show problem
10:30:12: Just some text to show problem
10:30:27: Just some text to show problem
Generating an error to show problem.
Does not terminate when there is an event loop
while executing
"error "Does not terminate when there is an event loop""
(procedure "generateError" line 3)
invoked from within
"generateError"
("after" script)
10:30:42: Just some text to show problem
10:30:57: Just some text to show problem
10:31:12: Just some text to show problem
So is this intended, or an bug?
--
Cecil Westerhof
Senior Software Engineer
LinkedIn:
http://www.linkedin.com/in/cecilwesterhof