FIX: Error Routine Not Called for USE Command

ID: Q129646

3.00 3.00b WINDOWS kbother kbbuglist kbfixlist

The information in this article applies to:

  • Microsoft Visual FoxPro for Windows, versions 3.0, 3.0b

SYMPTOMS

Visual FoxPro will not trap for the error caused by trying to open a table that is part of a corrupted database.

Usually, the "USE customer" command will open the table and the database that the table is part of. If the Database is corrupt, the following message is displayed:

   The database for table C:\..\CUSTOMER.DBF could not be opened. Would you
   like to try to locate the owning database or delete the link (and free
   the table). Locate   Delete    Cancel

In a program with an error routine, the error routine is not called, and the above message is still displayed. Selecting Cancel ends the program.

RESOLUTION

Do not open a table that is part of a database without first opening the database. Then you can trap for the error generated by trying to open a corrupt database.

STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem has been fixed in Visual FoxPro 5.0 for Windows.

MORE INFORMATION

Steps to Reproduce Problem

Corrupt the TESTDATA database by opening it as a table and deleting the first record. Run the following program:

   SET DEFAULT TO C:\VFP\SAMPLES\DATA
   ON ERROR DO errhand WITH ERROR(), MESSAGE()

   USE customer

   ON ERROR

   PROCEDURE errhand
   PARAMETERS  errno, errmsg
   WAIT WINDOW STR(errno)+" "+ errmsg
   RETURN

KBCategory: kbother kbbuglist kbfixlist KBSubcategory: FxotherGeneral fixlist5.00 VFoxWin buglist3.00 buglist3.00b Additional reference words: 3.00 3.00b free
Keywords          : kbVFp kbVFp300bbug kbVFp500fix buglist3.00 FxotherGeneral kbbuglist kbfixlist
Version           : 3.00 3.00b
Platform          : WINDOWS
Solution Type     : kbfix


Last Reviewed: October 23, 1997
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.