Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
On Error
Message
From
03/07/2003 17:15:46
 
 
To
03/07/2003 16:47:27
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Title:
Miscellaneous
Thread ID:
00806739
Message ID:
00806760
Views:
16
Geoff,

If you want to temporarily override error behavior, you do it like this:
lcError = on("error")
on error llError = .t.
on error &lcError   && restore previous error setting

* do processing
if llError
    * an error occured
else
    * no error
endif
Now, if you are in a form that has code in an error() method, I think the form's error() method will catch the error instead, so maybe this is the problem you are having.

Doug Hennig has a good article on error handling on his website.

Also, VFP8 has TRY/CATCH functionality which greatly improves the situation.


>Hi
>
>I have event error code loaded in my form. As I am exiting I wish to reopen a table in exclusive mode to pack it.
>
>I have the following code
>
>
>lHadErr=.F.
>ON ERROR lHadErr=.T.
>USE wDbc!myfile IN 0 ALIAS ml EXCLUSIVE
>IF NOT lHadErr
>	SELECT ml
>	SET SAFETY OFF
>	PACK
>	SET SAFETY ON
>	USE
>ENDIF
>ON ERROR
>
>
>which I assumed would override the code in the form.
>
>Unfortunately, it doesn't. Is it supposed to work this way???
>
>Why can I not temporarly suspend the default error routine and then reinstate it by clearing the error with
>
ON ERROR
>
>Somewhat confused
>Geoff Scott
Steve Gibson
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform