Microsoft KB Archive/136071

= DOC: ON ERROR Not Invoked when Error Occurs in Error Event =

Article ID: 136071

Article Last Modified on 5/7/2003

-

APPLIES TO


 * Microsoft Visual FoxPro 3.0 Standard Edition
 * Microsoft Visual FoxPro 3.0b Standard Edition
 * Microsoft Visual FoxPro 5.0 Standard Edition
 * Microsoft Visual FoxPro 5.0a

-



This article was previously published under Q136071



SUMMARY
When an error occurs while executing an object's Error event procedure, Visual FoxPro suspends execution and displays the error message. Even an ON ERROR routine currently in effect is ignored. The Visual FoxPro Help file gives the following information about the Error event:

If a second error occurs in the Error event procedure while it is handling an error, Visual FoxPro calls the ON ERROR routine.

This is incorrect. When an error occurs while executing an object's Error event procedure, Visual FoxPro suspends execution and displays the error message. Even an ON ERROR routine currently in effect is ignored.



MORE INFORMATION
If code placed in an Error event handler can itself generate an error, place all error-handling code within the ON ERROR routine.

An object's Error event procedure is triggered when there is a run-time error in a method of that object. Using the Error event allows you to define code to handle an error at the object level.

Code to Reproduce Behavior
SET PROCEDURE TO SYS(16) ON ERROR DO procerror

oform1=CREATE('myform') oform1.SHOW read events

DEFINE CLASS myform AS FORM ADD OBJECT cmd1 AS CommandError ENDDEFINE

DEFINE CLASS CommandError AS COMMANDBUTTON TOP=5 LEFT=10 WIDTH=50 PROCEDURE CLICK wiat WINDOW    && Error in code. Calls the error event ENDPROC

PROCEDURE ERROR PARAMETERS x,Y,z,T WAIT WINDOW u   && Another error. Should call the ON ERROR ENDPROC ENDDEFINE

PROCEDURE procerror WAIT WINDOW "this is an error"

Keywords: kbbug kbdocerr KB136071

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.