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 item-name error value string error recovery value string recovery
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.