OVH Cloud OVH Cloud

Utilisation de QUAND EXCEPTION

1 réponse
Avatar
ncollin
Bonjour,

Dans une application WINDEV en version 7.5 (Fichiers HyperFile), je
souhaiterais pouvoir utiliser le QUAND EXCEPTION au niveau du code du
projet.

J'arrive bien à capturer l'anomalie, mais je n'arrive pas à rendre à
la main à mon application là où le problème s'est produit.

Est-ce qu'il faut mettre un quand exception au niveau de chaque
procédure ?

Exemple :

QUAND EXCEPTION
SELON ExceptionInfo(errCode)
CAS 70052

HRéindexe(ExceptionInfo(errFichier),hNdxNormal)
ExceptionActive
AUTRE CAS
FinProgramme
FIN

Sur mon code de validation, si je force un index corrompu, il passe
bien dans le code Hreindexe, mais il ne poursuit pas la validation. Je
suis obligé de quitter l'application

1 réponse

Avatar
farplus
Il se trouve que Nathalie a formulé :
Bonjour,

Dans une application WINDEV en version 7.5 (Fichiers HyperFile), je
souhaiterais pouvoir utiliser le QUAND EXCEPTION au niveau du code du
projet.

J'arrive bien à capturer l'anomalie, mais je n'arrive pas à rendre à
la main à mon application là où le problème s'est produit.

Est-ce qu'il faut mettre un quand exception au niveau de chaque
procédure ?

Exemple :

QUAND EXCEPTION
SELON ExceptionInfo(errCode)
CAS 70052

HRéindexe(ExceptionInfo(errFichier),hNdxNormal)
ExceptionActive
AUTRE CAS
FinProgramme
FIN

Sur mon code de validation, si je force un index corrompu, il passe
bien dans le code Hreindexe, mais il ne poursuit pas la validation. Je
suis obligé de quitter l'application



Bonjour,
QUAND EXCEPTION
est spécifique à chaque code, de plus il ne peut être éxécuté qu'une
fois,
après il faut le réactiver
QUAND EXCEPTION DANS
<code_visé>
FAIRE
...
FIN

par contre d'après ce que je comprends (erreur intervenant dans durant
une validation) le code le plus adapté serait le suivant:

idx est un entier = 0
tantque pas HAJOUTE(Fichier)
idx++
si idx>=3 SignalationErreur() // au bout de 3 tentatives on renonce
sauveenregistrementencours(quelquepart) // si ne vient pas de l'écran
hferme(fichier)
Hreindexe()
recupereenregistrementencours (ou EcranversFichier)
fin

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com