declaration/definition
(declare | export | require) catch catch name catch argument list
You can use declare catch
to declare the name and the parameters of a
catch
that you will use elsewhere in your program. The following
declares a catch
named no-planet
:
declare catch no-planet
A catch
declared in a module may use export
instead of declare
to make
it available to the importing program or module.
A catch
declared in a module may use require
instead of declare
. The
program or module that imports this module must supply a catch
, using
a supply
clause in the import statement. The supplied catch
must match
the required one in all respects except its name and the names of its
arguments.
The catch
declaration can also declare parameters, following the same
form as function parameters. value
, modifiable
, read-only
, and
write-only
are supported, but not remainder
. The optional
keyword is
not supported. All heralded catch arguments are optional by default. See define function
for a full description of function
parameters.
The following is an example of a catch
declaration with parameters:
declare catch invalid-item value string the-item error value string the-error times value integer num-times
catch
es can use either the heralded or parenthesised form for
declaring arguments, just like function definitions. The same
considerations as for functions apply to choosing one or the other.
It is a compile-time error to use a catch
that has not been
declared. It is also a compile-time error to declare the same catch
twice.