PFE 0.33.71

Homepage
SourceForge
Download
Documentation
-Overview
-The PFE Manual
old manual / (book)
-ChangeLog
-Authors
-License (LGPL)
-Wordsets / (book)
-Functions .. (book)
-Dp of ANS Forth
-The 4thTutor
-Forthprimer.pdf
- Old Wordsets
- Old Words List
Forth Links
* Forth Repository
* Taygeta Compilation
* TinyBoot FirmWare
* FiCL, Free Forth
* Research Vienna
* Research Bournemouth
* zForth WebRing
Other Links
* Tektronix/MPT
* Forth Org. (FIG)
* Forth Inc.
* MPE Ltd. Forths
* SF Win32Forth
* PD Win32Forth
* Neil Bawd

generated
(C) Guido U. Draheim
guidod@gmx.de

## Exception

> + extensions

`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.

  primitive code = [p4_catch]

`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`

  primitive code = [p4_throw]

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

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

        : ABORT -1 THROW ;

  primitive code = [p4_abort]

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

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

  compiling word = [p4_abort_quote]