ça fait longtemps que je n'ai pas codé en Python, mais je suppose que le try de python est équivalent au try java, qui n'est pas implémenté en autoit, mais on ne sait jamais avec les udf peut être ...
Sinon pour L4crymal, ça permet d'essayer comme son nom l'indique une fonction, et en cas d'erreur lors de l'exécution, on peut se raccrocher aux branches en précisant une liste d'exeptions à suivre en cas d'échec. Un peu comme un if then else qui se dépatouillerait de éventuelles erreurs d'exécution
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
try:
import toto
print "c'est bon"
except ImportError:
print "Erreur d'import du module"
Test d'import d'un module toto
si c'est possible alors affiche c'est bon
si ce n'est pas pas possible est quelque soit l'erreur il m'affiche Erreur d'Import du module
#include <File.au3>
$file = FileOpenDialog("Print File", "", "Text Documents (*.txt)", 1)
If @error Then Exit
$print = _FilePrint($file)
If $print Then
MsgBox(0, "Print", "The file was printed.")
Else
MsgBox(0, "Print", "Error: " & @error & @CRLF & "The file was not printed.")
EndIf
Yogui a écrit :en fait sylvanie à très bien expliquer le try, ça permet de ne pas gérer les erreurs mais comme tu l'as fait dans ton exemple.
Ha bon ..
Pourtant sylvanie dit :
sylvanie a écrit :ça permet d'essayer comme son nom l'indique une fonction, et en cas d'erreur lors de l'exécution, on peut se raccrocher aux branches en précisant une liste d'exeptions à suivre en cas d'échec
Yogui a écrit :En fait dans ton exemple tu imprimes puis tu regardes si ça a fonctionné la fonction Try: permet de tester si ça fonctionne avant d'imprimer.
Heuuu vous êtes sur de ce que vous dites là !!!
Parce que je ne vois pas comment un programme peut tester une action sans l'avoir réalisée ...
C'est comme si vous dites que quelque chose est mauvais avant de l'avoir goutté.
Tlem a écrit :
C'est comme si vous dites que quelque chose est mauvais avant de l'avoir goutté.
J'avoue ça m'arrive de le dire
Pour clôturer la question la réponse est que try n'existe pas en autoit
et oui mes arguments sont bancales mais la je vous demande de me faire confiance try est une fonction qui à une vrai puissance pour éviter de se prendre la tête.
et pour rendre vous rendre totalement justice effectivement @error dans les fonctions le remplace largement et même un peu plus puisque la valeur de @error peux même être utiliser pour débugger
Juste le petit mot de la fin en ce qui me concerne, pour moi le try exécute la fonction, mais comme je l'ai dit, ça fait longtemps que je n'ai pas codé en Python, et java aussi ...
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Yogui a écrit :effectivement @error dans les fonctions le remplace largement et même un peu plus puisque la valeur de @error peux même être utiliser pour débugger
N'oubliez pas non plus la valeur @extended, qui associée à @error nous donne nettement plus d'infos sur certaines fonctions.