| 123456789101112131415161718192021222324252627282930 |
- MODULE TExceptFuncret;
- (* functionException: a function that falls off its end without RETURN
- raises a catchable language exception. *)
- FROM M2EXCEPTION IMPORT
- M2Exception, IsM2Exception, functionException;
- VAR ExitCode : INTEGER;
- PROCEDURE Missing : INTEGER;
- VAR i : INTEGER;
- BEGIN
- i := 1;
- IF i = 0 THEN RETURN 1 END
- END Missing;
- PROCEDURE Caller;
- BEGIN
- ExitCode := Missing()
- EXCEPT
- IF IsM2Exception() AND (M2Exception() = functionException) THEN
- ExitCode := 42
- ELSE
- ExitCode := 1
- END
- END Caller;
- BEGIN
- ExitCode := 0;
- Caller
- END TExceptFuncret.
|