| (* Library module defined by the International Standard |
| Information technology - programming languages |
| BS ISO/IEC 10514-1:1996E Part 1: Modula-2, Base Language. |
| |
| Copyright ISO/IEC (International Organization for Standardization |
| and International Electrotechnical Commission) 1996-2021. |
| |
| It may be freely copied for the purpose of implementation (see page |
| 707 of the Information technology - Programming languages Part 1: |
| Modula-2, Base Language. BS ISO/IEC 10514-1:1996). *) |
| |
| DEFINITION MODULE GeneralUserExceptions; |
| |
| (* Provides facilities for general user-defined exceptions *) |
| |
| TYPE |
| GeneralExceptions = (problem, disaster); |
| |
| PROCEDURE RaiseGeneralException (exception: GeneralExceptions; |
| text: ARRAY OF CHAR); |
| (* Raises exception using text as the associated message *) |
| |
| PROCEDURE IsGeneralException (): BOOLEAN; |
| (* Returns TRUE if the current coroutine is in the exceptional |
| execution state because of the raising of an exception from |
| GeneralExceptions; otherwise returns FALSE. |
| *) |
| |
| PROCEDURE GeneralException(): GeneralExceptions; |
| (* If the current coroutine is in the exceptional execution |
| state because of the raising of an exception from |
| GeneralExceptions, returns the corresponding enumeration value, |
| and otherwise raises an exception. |
| *) |
| |
| END GeneralUserExceptions. |