Page 1 sur 1

Je suis dans une incompréhension totale!

Publié : ven. 02/juil./2004 19:30
par gansta93
Bonjour,

J'ai voulu m'essayer à la librairie OnError.
Pour cela, j'ai fait une demande de nombre.
J'ai divisé 74 par ce nombre.
Quand ce nombre était 0, j'ai bien eu l'erreure qui me disait que le programme avait tanté une division par 0.
Mais quand j'essaiais autre chose, il me mettait une autre erreure.
Voici mon code.

Code : Tout sélectionner

nombre$=InputRequester("essais de division par 0","Entre 0 comme nombre:","0")
resultat=74/Val(nombre$)
If GetErrorDescription()
MessageRequester("Erreure","L'erreure suivante c'est produite:"+#crlf+Str(GetErrorNumber())+": "+GetErrorDescription()+" à l'adresse "+Str(GetErrorAddress()),#mb_ok|#mb_iconstop)
Else
MessageRequester("Essais","La division faite donne: "+Str(resultat),#mb_ok|#mb_iconinformation)
EndIf
End
Ou est l'erreure?????? :?: Je ne comprand vraiment pas.

Merci d'avance.

Publié : lun. 05/juil./2004 12:05
par brossden
Bonjour
La fonction GetErrorDescription ne renvoiue pas de booléen du type vrai faux mais une chaine de caractère. Pour gerer une erreur par ce moyen il faut tenit compte de la chaine retournée exemple :

Code : Tout sélectionner


nombre$=InputRequester("essais de division par 0","Entre 0 comme nombre:","") 
resultat=74/Val(nombre$) 

#crlf.s=Chr(13)+Chr(10)

retour.s = GetErrorDescription() 

If FindString(retour,"BREAKPOINT",1)=0
   MessageRequester("Erreur","L'erreur suivante c'est produite:"+#crlf+"Numéro : "+Str(GetErrorNumber())+": "+#crlf+retour+" à l'adresse "+Str(GetErrorAddress()),0) 
Else 
   MessageRequester("Essais","La division faite donne: "+Str(resultat),#mb_ok|#mb_iconinformation) 
EndIf 

End


Publié : lun. 05/juil./2004 12:11
par gansta93
Salut,

Donc il faut que je tienne compte de ce que la chaîne renvoie.
Mais il y a les numérots d'erreures. Existe-t-il une documentation qui en donnerait la liste?
Parce que dans ce cas, je vien d'y penser, on pourait deffinire nous-même la boîte de dialogue que l'on mettrais en fonction de l'erreure... cela éviterait d'avoir des messages en anglais parmis le français! :-)