while-try with Tcl

Used to catch error or exceptions during while body execution.

proc while-try {expr body args} {
   uplevel 1 [list try [list while $expr $body] {*}$args]
}

Usage:

while-try {1} {
  error hello
} on error err {
  puts "... $err"
}