BUG: Divide by Zero Causes Application Error

Last reviewed: February 29, 1996
Article ID: Q147765
The information in this article applies to:
  • Microsoft FORTRAN PowerStation 32 for Windows NT, version 1.0
  • Microsoft Fortran PowerStation for Windows 95 and Windows NT, version 4.0

SYMPTOMS

Attempting to divide an integer number by zero at run time causes one of the following application error messages to be generated instead of the appropriate run-time error:

Under Windows NT version 3.51:

   Application Error - The exception integer division by zero
   occurred in the application

Under Windows 95:

   This program has performed an illegal operation and will be shut down.
   If the problem persists, contact the program vendor.

   Details:

   <program> caused a divide error in module <filename> at 0137:0040109c

The following appropriate run-time error should be generated instead of the above application errors:

   R6003 integer divide by 0

RESOLUTION

Make sure arithmetic expressions do not include a direct or indirect divide by zero calculation.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

Sample Code to Demonstrate Problem

C Compile options needed: none

        INTEGER ANSWER, NUMER, DENOM

   WRITE (*,*) 'This program should fail with a run-time'
   WRITE (*,*) 'error. No output other than these three'
   WRITE (*,*) 'lines should appear'

   CALL X (NUMER, DENOM)
   ANSWER = NUMER/DENOM
   WRITE (*,*) '**Error! integer division allowed**'
   WRITE (*,*) 'ANSWER=<',ANSWER,'>'
   END

   SUBROUTINE X(I1,I2)
   I1 = 123
   I2 = 0
   END


Additional reference words: 1.00 4.00
KBCategory: kbprg kbbuglist
KBSubcategory: FORTLngIss


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 29, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.