Exception dans un IF
Résolu
biche_35
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
A voir également:
- Exception dans un IF
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : - Guide
- A java exception has occurred - Forum Logiciels
- Message D'erreur A Java has exception has occured ! - Forum Minecraft
- A java exception has occurred (( minecraft.serv )) - Forum Minecraft
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe qui suit les textes ne doivent pas être en retrait à droite et à gauche après ces modifications, sur quelle page se trouve le titre « la cheminée » dans le chapitre « informations diverses » ? ✓ - Forum Word
13 réponses
Salut,
Merci de ton aide déjà ;)
Voci donc ma nouvelle boucle aprés modification :
Mon traitement commence et au bout de la 5ème valeur de s_adrdresses, j'ai le message d'erreur suivant :
Traceback (most recent call last):
File "<stdin>", line 8, in <module>
NameError: name 's_liste' is not defined
Un problème d'indentation peut ètre??
Encore merci
Merci de ton aide déjà ;)
Voci donc ma nouvelle boucle aprés modification :
for addresses in bigip3_obj.get_list(): try: s_addresses = str(addresses)[8:] except IndexError: g_list = bigip3_obj.get_traffic_group(virtual_addresses = [s_addresses]) s_liste = str(g_list) print s_addresses[7] if (s_addresses[7] == '2' and s_liste[-2] == '2' and s_addresses != 'any'): print ("Pour la virtuelle portant l'IP %s, le traffic group correspondant n'est pas bon" %(s_addresses)) else: print("Pour la virtuelle portant l'IP %s, le traffic group correspondant est bon" %(s_addresses))
Mon traitement commence et au bout de la 5ème valeur de s_adrdresses, j'ai le message d'erreur suivant :
Traceback (most recent call last):
File "<stdin>", line 8, in <module>
NameError: name 's_liste' is not defined
Un problème d'indentation peut ètre??
Encore merci
Non, c'est un problème dans le sens où tu crées ta variable s_liste que dans le cas où tu vois la valeur 'any'.
La solution est de placer avant le try ta variable s_liste à la valeur None
La solution est de placer avant le try ta variable s_liste à la valeur None
s_liste = None
try:
# ....
Donc tu suggère de faire ça :
Je test et je te tiens au courant.
Encore merci ;)
for addresses in bigip3_obj.get_list(): s_liste = 'None' try: s_addresses = str(addresses)[8:] except IndexError: g_list = bigip3_obj.get_traffic_group(virtual_addresses = [s_addresses]) s_liste = str(g_list) print s_addresses[7] if (s_addresses[7] == '2' and s_liste[-2] == '2' and s_addresses != 'any'): print ("Pour la virtuelle portant l'IP %s, le traffic group correspondant n'est pas bon" %(s_addresses)) else: print("Pour la virtuelle portant l'IP %s, le traffic group correspondant est bon" %(s_addresses))
Je test et je te tiens au courant.
Encore merci ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Malheureusement, je retombe sur mon problème initial avec un "IndexError: string index out of range" lorsque s_addresses = any
Tu as vraiment un problème avec l'indentation :)
Non testé, mais ça a déjà plus de gueule...
for addresses in bigip3_obj.get_list():
s_liste = 'None'
try:
s_addresses = str(addresses)[8:]
except IndexError:
g_list = bigip3_obj.get_traffic_group(virtual_addresses = [s_addresses])
s_liste = str(g_list)
print s_addresses[7]
if (s_addresses[7] == '2' and s_liste[-2] == '2' and s_addresses != 'any'):
print ("Pour la virtuelle portant l'IP %s, le traffic group correspondant n'est pas bon" %(s_addresses))
else:
print("Pour la virtuelle portant l'IP %s, le traffic group correspondant est bon" %(s_addresses))
Non testé, mais ça a déjà plus de gueule...
Effectivement, je suis encore un peu débutant sous Pyhton (je commence depuis cette semaine :) )
Toujours le même problème. J'obtiens un IndexError: string index out of range.
Vois pas pourquoi ce str(addresses)[8:] est si bloquant que ça...
Toujours le même problème. J'obtiens un IndexError: string index out of range.
Vois pas pourquoi ce str(addresses)[8:] est si bloquant que ça...
Non il n'est pas bloquant à cet endroit, il faut que tu places dans ton bloc try, tous ce qui pourrait poser problème en rapport avec ton 'any'...
Je ferais cela de cette façon
Je ferais cela de cette façon
for addresses in bigip3_obj.get_list():
s_liste = 'None'
try:
s_addresses = str(addresses)[8:]
print s_addresses[7]
if (s_addresses[7] == '2' and s_liste[-2] == '2'):
print ("Pour la virtuelle portant l'IP %s, le traffic group correspondant n'est pas bon" %(s_addresses))
else:
print("Pour la virtuelle portant l'IP %s, le traffic group correspondant est bon" %(s_addresses))
except IndexError:
g_list = bigip3_obj.get_traffic_group(virtual_addresses = [s_addresses])
s_liste = str(g_list)
# dans le cas d'any, on en fait quoi?
Dans le cas d'any, je propose qu'on ne fasse rien ;)
Je ne sais pas si ta question est directe ou si c'est juste un fail dans tes balises /code
Je ne sais pas si ta question est directe ou si c'est juste un fail dans tes balises /code
Pour info, ça fonctionne ;)
Peux tu m'expliquer ce que tu fais aprés ton except IndexError:
Je ne connais pas trop la construction du try/except
Préfère comprendre plutôt que de faire un simple Copy/Cut
Peux tu m'expliquer ce que tu fais aprés ton except IndexError:
Je ne connais pas trop la construction du try/except
Préfère comprendre plutôt que de faire un simple Copy/Cut
Le bloc try-except, c'est pour dire
J'essaie
...
...
...
excepté dans le cas où l'index dépasse la taille de la chaine je fais
...
...
...
try -> essayé
except -> excepté
J'essaie
...
...
...
excepté dans le cas où l'index dépasse la taille de la chaine je fais
...
...
...
try -> essayé
except -> excepté