FIX: /4Yb Causes DX1020 on Errors after I/O using "ERR=" (118437)



The information in this article applies to:

  • Microsoft FORTRAN Compiler for MS-DOS 5.1
  • Microsoft FORTRAN PowerStation for MS-DOS 1.0

This article was previously published under Q118437

SYMPTOMS

With FORTRAN PowerStation for MS-DOS, version 1.0, if extended error handling is enabled (through the /4Yb option or the $DEBUG menta command) and if there is an "ERR=" clause in an I/O statement, errors that occur after the I/O cause a "DX1020: unhandled exception" instead of a debug traceback. This only happens for errors that would be handled by extended error handling. The I/O may be a READ on WRITE on internal or external files.

With FORTRAN, version 5.1, no error message is generated; but the application hangs at the MS-DOS prompt in Windows, version 3.1, and may cause the system to crash.

STATUS

Microsoft has confirmed this to be a problem in FORTRAN PowerStation for MS- DOS, version 1.0. This problem was corrected in FORTRAN PowerStation for MS-DOS, version 1.0a.

MORE INFORMATION

To reproduce the problem, compile both code samples below using FORTRAN PowerStation for MS-DOS, version 1.0.

Sample Code 1

C Compile options needed: none, or use /4Yb and remove the first line

$debug
      INTEGER j,k,i(3)
      CHARACTER c*4
      c='1234'
      READ (c,'(i4)',err=10) k
10    continue
      j = 0
      i(j) = 1
      END
				

Sample Code 2

C Compile options needed: /4Yb

      INTEGER j
      CHARACTER c*4
      j = 2 000 000 000
      WRITE (c,'(i4)',err=10) j
10    continue
      j = j*j
      END
				

Modification Type:MajorLast Reviewed:10/23/2003
Keywords:kbfix KB118437