[prog] Gestion des erreurs sous Open Office 2.0

2007-01-23 Par sujet xavier roguiez

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



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [prog] Gestion des erreurs sous Open Office 2.0

2007-01-23 Par sujet Francois Gatto

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]