BUG: Divide by Zero Causes Application Error

ID: Q147765

1.00 4.00 | 4.00 WINDOWS NT | WINDOWS kbprg kbbuglist

The information in this article applies to:

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
Keywords          : kbFortranPS kbLangFortran kbbuglist
Version           : 1.00 4.00  | 4.00
Platform          : NT WINDOWS

Last Reviewed: March 3, 1996