(plan 5) (expect "catch - without throw" (equal 'ok (catch 'exc1 'ok))) (expect "catch - with throw" (equal 'ok (catch 'exc2 (throw 'exc2 'ok) 'fail))) (expect "catch - throw caught by inner catch" (equal 'ok (catch 'exc3a (catch 'exc3b (throw 'exc3b 'fail)) 'ok))) (expect "catch - throw caught by outer catch" (equal 'ok (catch 'exc4a (catch 'exc4b (throw 'exc4a 'ok)) 'fail))) (expect "catch - inner catch shadows outer catch" (equal 'ok (catch 'exc5 (catch 'exc5 (throw 'exc5 'fail)) 'ok)))