xavier roguiez a écrit :
Bonsoir
Je suis à la recherche de pistes pour gérer proprement les erreurs sous
Calc.
J'ai un ensemble de fonctions qui s'appellent les unes les autres en
cascade.
Dans la fonction de bas niveau, je réalise un test voici un ECM
function fcm(byval fck as double) as variant
'résistance moyenne en compression à 28 jours
'entrée fck : MPa, sortie : fcm : MPa
if (fck <=90) then
fcm=fck+8.
else
fcm="": MsgBox("fck > C90/100 (EC2-3.1.2(2)P",16): stop
end if
end function
Au niveau de fcm, ça fonctionne correctement. Si je fais dans une
cellule sous calc =fcm(94), j'ai la boite d'alerte correcte.
Ensuite au niveau des fonctions appellantes, j'ai codé :
On error GoTo errDeroulement
temp=fcm(fck)
exit function
'%% gestion des erreurs %% errDeroulement:
if (err = 9) then
MsgBox("Plantage à partir de test",16): testFCM="": stop
endif
Resume Next end function
Y a t il un moyen de procéder différemment, je ne sais pas si associer
cette erreur 9 au dépassement de ma variable est une bonne idée ?
D'avance merci pour toute information
xavier roguiez
Je pense qu'une définition plus large des cas d'erreurs peut être
préférable.
Par exemple :
errDeroulement:
Select case Err
Case 7 'Mémoire insuffisante
MsgBox("Plantage à partir de test",16)
testFCM=""
Stop
Case 9 'Indice hors limite
MsgBox("Plantage à partir de test",16)
testFCM=""
Stop
Case Else 'autre erreur on tente la poursuite ;)
MsgBox "Erreur " & Err & ": " & Error$
Resume Next
End Select
Francois
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]