|
Iniciado por planisoft, jul., 06 2005 5:11 PM - 8 respostas |
| |
| | | |
|
| |
Publicado em julho, 06 2005 - 5:11 PM |
Y a t'il un moyen d'empecher le plantage sur une division par 0.
Meme la gestion d,erreur ne fonctionne pas la dessue.
Merci de vos réponses. |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 06 2005 - 6:03 PM |
Teste la valeur du diviseur avant l'exécution de la ligne de la division !!!
si B<>0 alors info(A/ sinon Info("Division par 0 ") fin
A++ |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 06 2005 - 9:43 PM |
Bonjour,
Y a t'il un moyen d'empecher le plantage sur une division par 0.
Meme la gestion d,erreur ne fonctionne pas la dessue.
Un "Quand Exception" devrait fonctionner dans ce cas, Non !!
A+
-- Francis MOREL http://wdmlist.free.fr |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 07 2005 - 3:14 PM |
Malheureusement la gestion des exceptions ne fonctionne pas pour une division par 0.
Etant donné que je n,ai pas le controle sur les formules qui seront calculées (défini par l'usager) j,aimerais pouvoir trapper cette erreur, surtout que ca cause un redémarrage de windows (xp) avec tout ce que cela implique ( vérification de l'intégrité du disque au démarrage).
Si quelqu'un a une idée , je suis preneur.
Merci |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 07 2005 - 10:03 PM |
Salut Jean,
> Malheureusement la gestion des exceptions ne fonctionne pas pour une division par 0.
Je te suggére de bien regarder, c'est ce que j'utilise quand je veux forcer une erreur. Maintenant, que ca ne fonctionne pas comme tu le veux , peut-être. Mais pout trapper les erreurs c'est 100% opérationnel
Etant donné que je n,ai pas le controle sur les formules qui seront
calculées (défini par l'usager) j,aimerais pouvoir trapper cette erreur, surtout que ca cause un redémarrage de windows (xp) avec tout ce que cela implique ( vérification de l'intégrité du disque au démarrage).
-- Francis MOREL http://wdmlist.free.fr |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 08 2005 - 9:39 AM |
Bonjour,
Je viens de tester la division par 0, dans une ardoise magique (texte exécuté par la fonction Compile).
Description_de_l_erreur = 15/0
J'obtiens simplement le message :
Erreur à la ligne n°1 : Division par 0
Le début de mon code, en initialisation de ma fenêtre est :
QUAND EXCEPTION Erreur("Une erreur est survenue dans la fenêtre",ExceptionInfo(errMessage)) Info("Erreur : " + ExceptionInfo(errComplet)) // On réactive les exceptions ExceptionActive() // On reprend le traitement RepriseSaisie() FIN
Le code lié à la fonction Compile est une adaptation :
sResultatCompile = Compile("Compilation1", Code_à_tester) SELON sResultatCompile CAS "" : QUAND EXCEPTION DANS // Exécution de la procédure compilée dynamiquement ExécuteTraitement("Compilation1",trtProcédure) FAIRE // Affichage des erreurs d'exécution Description_de_l_erreur += "Erreur à la ligne n°"+(ExceptionInfo(errLigne))+" : "+ExceptionInfo(errRésumé)+RC SI ExceptionInfo(errPendant)<>"" ALORS Description_de_l_erreur += CR + "Pendant : "+ExceptionInfo(errPendant) +RC SelectionneLigne(ExceptionInfo(errLigne),"Code_à_tester",ExceptionInfo(errInfo)) FIN CAS "ERR" : sResultat = "Compilation impossible. "+RC+ErreurInfo() Description_de_l_erreur = sResultat AUTRE CAS : sResultat = sResultatCompile Description_de_l_erreur = sResultat FIN
Voilà...
Bien cordialement,
Jacques De Schryver |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 08 2005 - 10:48 AM |
Bonjour Jacques,
> Je viens de tester la division par 0, dans une ardoise magique (texte exécuté par la fonction Compile).
Description_de_l_erreur = 15/0
J'obtiens simplement le message :
Erreur à la ligne n°1 : Division par 0
Alors tu n'as vraiment pas de chance, car sur mon WD9 ça marche même dans une fonction compile. Je viens de faire le test exprès. As tu bien testé ton code ? Par contre sur une division par 0 il faut a mon avis sortir de la procédure et pas la relancer, ou alors changer le code, car ca risque d'être sans fin !!!
Amicalement
-- Francis MOREL http://wdmlist.free.fr |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 08 2005 - 11:50 AM |
Bonjour,
Comme je l'ai écrit, cela fonctionne parfaitement.
La première zone de texte contient le code :
description_de_l_erreur = 15/0
Le contenu de la première zone est exécuté par la fonction Compile
La seconde zone de texte, baptisée description_de_l_erreur reçoit le résultat, soit le message d'erreur :
division par zéro en ligne 1.
On peut dès lors exécuter des fichiers texte sans rien planter.
Bien cordialement,
Jacques De Schryver |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 08 2005 - 3:58 PM |
Effectivement en version 9 je peux intercepter l'erreur, mais mon appli est en 7.5 et je ne peux pas la migrer présentement.
Je continue mes recherches.
Merci pour vos réponses. |
| |
| |
| | | |
|
| | | | |
| | |
|