|
- PROGRAM FILE 167: EXCEPTION - EVALUATION OF NUMERIC
- EXPRESSIONS ACTING AS FUNCTION ARGUMENTS.
- ANSI STANDARD 7.5, 8.4, 16.4
-
- THIS PROGRAM TESTS THAT THE RECOVERY PROCEDURES FOR
- EXCEPTIONS OCCURRING DURING THE EVALUATION OF NUMERIC
- EXPRESSIONS WORK PROPERLY IN CONTEXTS OTHER THAN SIMPLE
- ASSIGNMENT OF THE EXPRESSION TO A VARIABLE. SPECIFICALLY,
- EXPRESSIONS ARE USED AS ARGUMENTS TO FUNCTIONS.
-
- SECTION 167.1: DIVISION BY ZERO IN AN ARGUMENT TO A
- USER-DEFINED FUNCTION.
-
- TO PASS THIS TEST:
-
- 1) A MESSAGE IDENTIFYING THE EXCEPTION MUST BE
- DISPLAYED, AND
-
- 2) POSITIVE INFINITY MUST BE SUPPLIED AS THE VALUE
- OF THE ARGUMENT AND EXECUTION CONTINUES.
-
- BEGIN TEST.
-
- ABOUT TO EVALUATE FNC(5/0), WHERE FNC = COMMON LOG.
- EXCEPTION SHOULD BE REPORTED NOW:
-
- *** WARNING: Divide by 0 ***
-
- RESULT OF FNC(5/0) = 308.255
-
- IF EXCEPTION REPORTED, AND
- RESULT = COMMON LOG OF MACHINE INFINITY, THEN
- *** TEST PASSED ***
-
- END TEST.
-
- SECTION 167.2: ZERO RAISED TO A NEGATIVE POWER IN AN
- ARGUMENT TO AN IMPLEMENTATION-SUPPLIED FUNCTION.
-
- TO PASS THIS TEST:
-
- 1) A MESSAGE IDENTIFYING THE EXCEPTION MUST BE
- DISPLAYED, AND
-
- 2) POSITIVE INFINITY MUST BE SUPPLIED AS THE VALUE
- OF THE ARGUMENT AND EXECUTION CONTINUES.
-
- BEGIN TEST.
-
- ABOUT TO EVALUATE ATN(0^(-5)).
- EXCEPTION SHOULD BE REPORTED NOW:
-
- *** Arithmetic Overflow ***
-
- RESULT OF ATN(0^(-5)) = 1.5708
-
- IF EXCEPTION REPORTED, THEN
- *** TEST PASSED ***
-
- END TEST.
-
- END PROGRAM 167
|