Go to the first, previous, next, last section, table of contents.

FATAL Pragma

The FATAL pragma may appear anywhere a declaration may appear. It asserts that the exceptions named in exception-list may be raised, but unhandled in the containing scope. If they are, it's fatal and the program should crash.

Effectively, the <*FATAL*> pragma disables "potentially unhandled exception" warnings. If the ANY parameter is used, the pragma applies to all exceptions. As such, you should avoid using the FATAL pragma for code that is not meant to be thrown away.

The effects of the <*FATAL*> pragma are limited to its containing scope. For example:

at the top-level of a module M means that no warnings will be generated for procedures in M that raise but don't list InternalError in their RAISES clauses. Similarly,

specifies that although X raises no exceptions and List.Walk may, no warnings should be generated.


Go to the first, previous, next, last section, table of contents.