Version 4 of Exception Handling

Updated 2011-07-15 21:52:26 by hv

Purpose: to discuss the issues of when and how to write exception handling code.

  • What is exception handling?
  • When should one write exception handling code?
  • When should one NOT write exception handling code?
  • What tools exist to aid in writing exception handling code?
  • How exception handling works

hv - Here is a short snippet showing how to use the return with -code to throw an exception

    proc double {x} {
        if {![string is integer $x]} {
            return -code error "double expects an int, not '$x'"
        }

        return [expr $x * 2]
    }

    set x 5
    puts "x = $x"
    puts "2x = [double $x]"

    set x "Hello"
    puts "x = $x"
    if {[catch {puts "2x = [double $x]"} errmsg]} {
        puts "Error: $errmsg"
    }












Category Discussion