pfe-exception-ext
Prev? | pfe Forth Wordset List | ?Next

## Name

pfe-exception-ext ? Exception + extensions

## Synopsis

`CATCH ( catch-xt* -- 0 | throw#! ) ?=>? (` | `)`; | ?

`"[ANS] FORTH"`;
?

`THROW ( throw#! -- [THROW] | throw# -- ) ?=>? (` | `)`; | ?

`"[ANS] FORTH"`;
?

`ABORT ( -- [THROW] ) ?=>? (` | `)`; | ?

`"[ANS] FORTH"`;
?

`ABORT" ( [string&lt;"&gt;] -- [THROW] ) ?=>? (` | `)`; | ?

`"[ANS] FORTH"`;
?

## Description

CATCH ( catch-xt* -- 0 | throw#! ) [ANS] => "[ANS] FORTH"

execute the given execution-token and catch any exception that can be caught therein. software can arbitrarily raise an exception using `THROW` - the value 0 means there was no exception, other denote implementation dependent exception-codes.

THROW ( throw#! -- [THROW] | throw# -- ) [ANS] => "[ANS] FORTH"

raise an exception - it will adjust the depth of all stacks and start interpreting at the point of the latest `CATCH` if n is null nothing happens, the -1 (ie. `FALSE` ) is the raise-code of `ABORT` - the other codes are implementation dependent and will result in something quite like `ABORT`

ABORT ( -- [THROW] ) [ANS] => "[ANS] FORTH"

throw - cleanup some things and go back to the QUIT routine

      : ABORT -1 THROW ;

ABORT" ( [string&lt;"&gt;] -- [THROW] ) [ANS] => "[ANS] FORTH"

throw like `ABORT` but print an additional error-message to stdout telling what has happened.

Prev? | Up | ?Next
pfe-environ-ext? | Home | ?pfe-facility-ext