Return to except.fs CVS log | Up to [gforth] / gforth |
version 1.10, 2006/05/26 21:18:45 | version 1.11, 2006/10/08 11:30:56 |
---|---|
Line 139 is catch | Line 139 is catch |
rdrop 'throw r> perform | rdrop 'throw r> perform |
THEN ; | THEN ; |
is throw | is throw |
[IFDEF] throw>error | [IFDEF] rethrow |
:noname ( y1 .. ym error/0 -- y1 .. ym / z1 .. zn error ) \ exception | :noname ( y1 .. ym error/0 -- y1 .. ym / z1 .. zn error ) \ exception |
?DUP IF | ?DUP IF |
handler @ ?dup-0=-IF | handler @ ?dup-0=-IF |
Line 154 is throw | Line 154 is throw |
r> swap >r sp! drop r> | r> swap >r sp! drop r> |
rdrop 'throw r> perform | rdrop 'throw r> perform |
THEN ; | THEN ; |
is throw>error | is rethrow |
[THEN] | [THEN] |