16 lines
429 B
Tcl
16 lines
429 B
Tcl
proc div_check {x y} {
|
|
try {
|
|
puts "valid division: $x/$y=[expr {$x/$y}]"
|
|
} trap {ARITH DIVZERO} msg {
|
|
puts "caught division by zero: $x/$y -> $msg"
|
|
} trap {ARITH DOMAIN} msg {
|
|
puts "caught bad division: $x/$y -> $msg"
|
|
} on error msg {
|
|
puts "caught another error: $x/$y -> $msg"
|
|
}
|
|
}
|
|
|
|
foreach {num denom} {42 1 42 0 42.0 0.0 0 0 0.0 0.0 0 foo} {
|
|
div_check $num $denom
|
|
}
|