(* 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 M2EXCEPTION; (* Provides facilities for identifying language exceptions *) TYPE M2Exceptions = (indexException, rangeException, caseSelectException, invalidLocation, functionException, wholeValueException, wholeDivException, realValueException, realDivException, complexValueException, complexDivException, protException, sysException, coException, exException ); PROCEDURE M2Exception (): M2Exceptions; (* If the current coroutine is in the exceptional execution state because of the raising of a language exception, returns the corresponding enumeration value, and otherwise raises an exception. *) PROCEDURE IsM2Exception (): BOOLEAN; (* If the current coroutine is in the exceptional execution state because of the raising of a language exception, returns TRUE, and otherwise returns FALSE. *) END M2EXCEPTION.