version 1.55, 2006/10/08 11:30:56
|
version 1.56, 2006/10/11 19:18:52
|
Line 240 defer throw ( y1 .. ym nerror -- y1 .. y
|
Line 240 defer throw ( y1 .. ym nerror -- y1 .. y
|
\G If @i{nerror} is 0, drop it and continue. Otherwise, transfer |
\G If @i{nerror} is 0, drop it and continue. Otherwise, transfer |
\G control to the next dynamically enclosing exception handler, reset |
\G control to the next dynamically enclosing exception handler, reset |
\G the stacks accordingly, and push @i{nerror}. |
\G the stacks accordingly, and push @i{nerror}. |
defer rethrow ( y1 .. ym nerror -- y1 .. ym / z1 .. zn error ) \ exception |
|
\G If @i{nerror} is 0, drop it and continue. Otherwise, transfer |
|
\G control to the next dynamically enclosing exception handler, reset |
|
\G the stacks accordingly, and push @i{nerror}. Doesn't reset the error stack |
|
|
|
:noname ( y1 .. ym error -- y1 .. ym / z1 .. zn error ) |
:noname ( y1 .. ym error -- y1 .. ym / z1 .. zn error ) |
?dup if |
?dup if |
Line 252 defer rethrow ( y1 .. ym nerror -- y1 ..
|
Line 248 defer rethrow ( y1 .. ym nerror -- y1 ..
|
[ has? file [IF] ] script? IF 1 (bye) ELSE quit THEN |
[ has? file [IF] ] script? IF 1 (bye) ELSE quit THEN |
[ [ELSE] ] quit [ [THEN] ] |
[ [ELSE] ] quit [ [THEN] ] |
then ; |
then ; |
dup is throw |
is throw |
is rethrow |
|
[THEN] |
[THEN] |
|
|
\ (abort") |
\ (abort") |