version 1.1, 1994/02/11 16:30:46
|
version 1.4, 1995/04/06 16:56:10
|
Line 10 AVARIABLE ErrLink \ Linked
|
Line 10 AVARIABLE ErrLink \ Linked
|
ErrLink linked |
ErrLink linked |
, |
, |
[char] " word count |
[char] " word count |
dup c, here over chars allot swap move align ; |
string, align ; |
|
|
decimal |
decimal |
|
|
-1 ERR" Aborted" |
-1 ERR" Aborted" |
|
ErrLink @ unlock reloff lock \ make sure that the terminating 0 is not relocated |
-3 ERR" Stack overflow" -4 ERR" Stack underflow" |
-3 ERR" Stack overflow" -4 ERR" Stack underflow" |
-5 ERR" Return stack overflow" -6 ERR" Return stack undeflow" |
-5 ERR" Return stack overflow" -6 ERR" Return stack undeflow" |
-7 ERR" Do-loops nested too deeply" -8 ERR" Dictionary overflow" |
-7 ERR" Do-loops nested too deeply" -8 ERR" Dictionary overflow" |
Line 46 decimal
|
Line 47 decimal
|
-55 ERR" Floating-point unidentified fault" |
-55 ERR" Floating-point unidentified fault" |
-56 ERR" QUIT" -57 ERR" Error in sending or receiving a character" |
-56 ERR" QUIT" -57 ERR" Error in sending or receiving a character" |
-58 ERR" [IF], [ELSE], [THEN] error" |
-58 ERR" [IF], [ELSE], [THEN] error" |
|
\ signals: ( We list them all, execpt those already present, just in case ) |
|
-256 ERR" Hangup signal" |
|
-257 ERR" Quit signal" |
|
-258 ERR" Illegal Instruction" |
|
-259 ERR" Trace Trap" |
|
-260 ERR" IOT instruction" |
|
-261 ERR" EMT instruction" \ abort() call? |
|
-262 ERR" Kill signal" \ cannot be caught but so what |
|
-263 ERR" Bad arg to system call" |
|
-264 ERR" Broken pipe" |
|
-265 ERR" Alarm signal" |
|
-266 ERR" Terminate signal" |
|
-267 ERR" User signal 1" |
|
-268 ERR" User signal 2" |
|
\ error numbers between -512 and -2047 are for OS errors and are |
|
\ handled with strerror |
|
|
|
|
: .error ( n -- ) |
: .error ( n -- ) |
cr ." Error: " |
cr ." Error: " |
ErrLink |
ErrLink |
BEGIN @ dup |
BEGIN @ dup |
WHILE |
WHILE |
2dup cell+ @ = |
2dup cell+ @ = |
IF 2 cells + count type drop exit THEN |
IF 2 cells + count type drop exit THEN |
REPEAT |
REPEAT |
drop . ; |
drop |
|
dup -512 <= over -2048 > and |
|
IF |
|
512 + negate strerror type exit |
|
THEN |
|
. ; |
|
|