Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
On Error
Message
De
03/07/2003 17:15:46
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire d'écran & Écrans
Titre:
Divers
Thread ID:
00806739
Message ID:
00806760
Vues:
17
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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform