The Lambda Lab
/
projects
/
scheme.forth.jl.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
5c66df3299fd57455052b07d654d7d3d78b8f371
[scheme.forth.jl.git]
/
catch-throw.4th
1
\ Exception handling
2
3
variable handler
4
5
: catch ( cfa -- exception# | 0 )
6
psp@ >R
7
handler @ >R
8
rsp@ handler !
9
execute
10
R> handler !
11
R> drop
12
0
13
;
14
15
: throw ( ... exception# -- ... exception# )
16
?dup 0= if exit then
17
18
handler @ rsp!
19
R> handler !
20
21
R> swap >R
22
psp! drop R>
23
;