31 lines
815 B
Raku
31 lines
815 B
Raku
(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)))
|