Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation TI-Basic » Try...EndTry (25 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
Fl0D Ecrit le: Lundi 30 mai 2005 à 17:19 Déconnecté(e)    Voir le profil de Fl0D Envoyer un email à Fl0D Visiter le site WEB de Fl0D Envoyer un message privé à Fl0D  

Salut,

J'ai encore une tite question, si on modifie un fichier au cas où l'utilisateur l'aurait archivé, y'a t-il un moyen plus joli que de passer par ça :

Try
Unarchiv "jecpaskoi"
Else
EndTry


Merci
Programmeur : Ma page
    
./Post n°1   Marquer comme non lu.
Thor Ecrit le: Lundi 30 mai 2005 à 18:15 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


Déja il faut se dire que les Try ... EndTry c'est pas le meilleur moyen ... mieux vaut les éviter. Sinon Unarchiv "jecpaskoi" ne doit rien généré comme erreur si le fichier n'est pas archivé alors aucun besoin de Try ... EndTry
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
./Post n°2   Marquer comme non lu.
Dari Ecrit le: Lundi 30 mai 2005 à 18:37 Déconnecté(e)    Voir le profil de Dari Envoyer un email à Dari Visiter le site WEB de Dari Envoyer un message privé à Dari  

Ton truc ne sert que au cas où l'utilisateur aurait supprimé le fichier.
"iPod, therefore, I am."

http://media.laquadrature.net/Quadrature_black-out_HADOPI_468x60px.gif

    
./Post n°3   Marquer comme non lu.
Folco Ecrit le: Lundi 30 mai 2005 à 18:40 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


>>Déja il faut se dire que les Try ... EndTry c'est pas le meilleur moyen ... mieux vaut les éviter

Tu as probablement raison Thor, mais... tu pourrais argumenter stp? %)
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°4   Marquer comme non lu.
Fl0D Ecrit le: Lundi 30 mai 2005 à 19:49 Déconnecté(e)    Voir le profil de Fl0D Envoyer un email à Fl0D Visiter le site WEB de Fl0D Envoyer un message privé à Fl0D  

Ton truc ne sert que au cas où l'utilisateur aurait supprimé le fichier.

Oui justement c'est pour éviter une erreur lors de la première utilisation.

Je veux bien éviter les Try...EndTry ça j'avais bien vu :)
Mais c'est quel code est préférable alors ?
Programmeur : Ma page
    
./Post n°5   Marquer comme non lu.
Thor Ecrit le: Lundi 30 mai 2005 à 20:36 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


Il est vrai que les Try ... EndTry peuvent être nécessaire à certain moment mais vaut mieux les éviter car ils ont source d'erreurs (et même de bug lorsque plusieurs sont imbriqués).
La plupart du temps ces Try...EndTry sont remplacable par un If...EndIf. Ici je vériférai d'abord si le fichier existe en faisant un truc dans ce genre :

If getType(jecpasquoi)=!="NONE" Then
Unarchiv "jcpasquoi"
EndIf

Comme ça tu supprime le try...EndTry et tu n'a pas d'erreur si le fichier n'existe pas.

Au fait la variable jcpasquoi n'est pas valide ;) Pas plus de 8 lettres :D
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
./Post n°6   Marquer comme non lu.
Folco Ecrit le: Lundi 30 mai 2005 à 21:10 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


>>Il est vrai que les Try ... EndTry peuvent être nécessaire à certain moment mais vaut mieux les éviter car ils ont source d'erreurs
Thor, souvent, je cherche déséspérément à comprendre tes arguments, mais là, je ne comprends vraiment pas? Ils sont surces d'erreurs pour toi parceque tu ne sais pas t'en servir? Ou alors pour quelle raison? Je ne vois vraiemnt pas...

D'ailleurs, quand je programmais en basic, je faisais toujours ma gestion du clavier autour de Try::Else::EndTry:

:Loop
:Loop
:getKey->k
:If k!=0
:Exit
:EndLoop

:Try
:#("prg"&string(k))()
:Else
:EndTry
:EndLoop 

Et on peut remplacer le If k!=0:Exit:EndLoop par un If k=0:EndLoop bien barbare #love#

edit-> juste pour dire qu'avec ça, je n'ai naturellement jamais eu de pépin. :)
-Edité le Mardi 31 mai 2005 à 00:50 par Martial Demolins-
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°7   Marquer comme non lu.
Thor Ecrit le: Lundi 30 mai 2005 à 21:25 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


J'avais fait un programme en Basic à mes débuts bourré de Try ... EndTry et il ne marchait pas et aprés examen de la communauté il m'on dit que les Try .. Endtry ne sont pas trés bien gérés par l'AMS !
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
./Post n°8   Marquer comme non lu.
limmt Ecrit le: Lundi 30 mai 2005 à 21:35 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


./5 > bien indiquer qu'il faut remplacer le =!= par le symbole différent de ;)
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°9   Marquer comme non lu.
Thor Ecrit le: Lundi 30 mai 2005 à 23:46 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


limmt :
./5 > bien indiquer qu'il faut remplacer le =!= par le symbole différent de ;)
Bien sur mais tu as raison mieux vaut prévenir :D
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
./Post n°10   Marquer comme non lu.
Kevin Kofler Ecrit le: Lundi 30 mai 2005 à 23:59 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Thor :
Il est vrai que les Try ... EndTry peuvent être nécessaire à certain moment mais vaut mieux les éviter car ils ont source d'erreurs (et même de bug lorsque plusieurs sont imbriqués).
La plupart du temps ces Try...EndTry sont remplacable par un If...EndIf. Ici je vériférai d'abord si le fichier existe en faisant un truc dans ce genre :

If getType(jecpasquoi)=!="NONE" Then
Unarchiv "jcpasquoi"
EndIf

Et hop, c'est incompatible avec les versions traduites de AMS. #roll#
Try existe pour une raison et est de loin la meilleure solution ici!
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°11   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 31 mai 2005 à 00:00 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Thor :
J'avais fait un programme en Basic à mes débuts bourré de Try ... EndTry et il ne marchait pas et aprés examen de la communauté il m'on dit que les Try .. Endtry ne sont pas trés bien gérés par l'AMS !

C'est une rumeur infondée. À mon avis, tu as fait une erreur dans ton code. Utilisés correctement, les Try ne posent pas de problèmes.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°12   Marquer comme non lu.
Folco Ecrit le: Mardi 31 mai 2005 à 00:50 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


Exactement, tu peux très bien coder proprement avec des try, seulements des inepties (genre eds labels sautant dans des Try ou en sortant, je sais plus) peuvent effectivement amener à certains pépins. Mais cette fonction est très utile, et marche vraiment bien. :)
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°13   Marquer comme non lu.
Fl0D Ecrit le: Mardi 31 mai 2005 à 09:26 Déconnecté(e)    Voir le profil de Fl0D Envoyer un email à Fl0D Visiter le site WEB de Fl0D Envoyer un message privé à Fl0D  

If getType(jecpasquoi)=!="NONE" Then
Unarchiv "jcpasquoi"
EndIf


Et hop, c'est incompatible avec les versions traduites de AMS.

mmm comme j'ai déjà une variable qui me récupère si c'est anglais ou fr ça me prendrais pas de ligne en plus.

bien indiquer qu'il faut remplacer le =!= par le symbole différent de

Oui je fais du C et PHP donc ça va.

Merci à tous donc mon code est-il ok ?
Try
Unarchiv "jecpaskoi"
Else
EndTry

En fait c'est le Else...EndTry qui me gêne il y a rien à l'intérieur et c'est moche je trouve.. enfin... s'il n'y pas d'alternatives.
Merci encore.
Programmeur : Ma page
    
./Post n°14   Marquer comme non lu.
Thor Ecrit le: Mardi 31 mai 2005 à 12:37 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


Bah si les alternatives existent .. ;) Mais elles ne sont pas appréciées :(
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
./Post n°15   Marquer comme non lu.
Thor Ecrit le: Mardi 31 mai 2005 à 16:39 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


Martial Demolins :
Exactement, tu peux très bien coder proprement avec des try, seulements des inepties (genre eds labels sautant dans des Try ou en sortant, je sais plus) peuvent effectivement amener à certains pépins. Mais cette fonction est très utile, et marche vraiment bien. :)


Je suis désolé mais il n'en reste pas moins que pour moi les Try..EndTry sont a éviter car ils rendent le code sale!
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
./Post n°16   Marquer comme non lu.
Dari Ecrit le: Mardi 31 mai 2005 à 20:27 Déconnecté(e)    Voir le profil de Dari Envoyer un email à Dari Visiter le site WEB de Dari Envoyer un message privé à Dari  

Le problème de coder avec les try c'est qu'en cas de bug, on peut pas savoir ce qui se passe/
"iPod, therefore, I am."

http://media.laquadrature.net/Quadrature_black-out_HADOPI_468x60px.gif

    
./Post n°17   Marquer comme non lu.
limmt Ecrit le: Mardi 31 mai 2005 à 20:57 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


ben si justement
le else...endtry est la pour ca, tu peut même récupérer le code de l'erreur ;)
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°18   Marquer comme non lu.
Folco Ecrit le: Mardi 31 mai 2005 à 22:56 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


>>Je suis désolé mais il n'en reste pas moins que pour moi les Try..EndTry sont a éviter car ils rendent le code sale!
moi, c'est l'instruction "->" qui rend le code sale. j'aimerais pas voir ton code :D
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°19   Marquer comme non lu.
Kevin Kofler Ecrit le: Mercredi 1er juin 2005 à 00:10 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Thor :
Je suis désolé mais il n'en reste pas moins que pour moi les Try..EndTry sont a éviter car ils rendent le code sale!

C'est au contraire la manière la plus simple et la plus propre de gérer les erreurs!

Dari :
Le problème de coder avec les try c'est qu'en cas de bug, on peut pas savoir ce qui se passe/

Euh, je n'ai pas dit de mettre un gros Try autour du programme entier (même si un tel Try avec une sauvegarde des données et un nettoyage de toutes variables temporaires peut être pratique pour une version release, quand on a fini de déboguer), mais de mettre un Try autour d'instructions spécifiques qui pourraient causer des exceptions.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
  :: Index » Forum Ti68K » Programmation TI-Basic » Try...EndTry (25 réponse(s))
Pages : 1/2     « [1] 2 » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 43.14ms avec 18 requetes