try: 1/0
except: print(traceback.format_exc())
]]>merci pour ce superbe site et superbe tuto.
Une question : comment avez-vous créé l’arbre représentant toutes les classes d’exception ? Est-il possible de demander toute la généalogie à Python ? Ma question porte autant sur la conception abstraite de l’arbre que sur son ”écriture” ici, sur cette page.
Merci de votre attention
]]>try_test(personnages,i):
try:
return personnages[int(1 / i)]
#personnage = personnages[int(1 / i)]
except (IndexError, ZeroDivisionError):
return None
except KeyError:
print(“Qui est le bâtard qui a remplacé ma ”
“liste par un dico dans mon dos ?”)
else:
print(‘Bon en fait tout va bien’)
#return personnage
if name == “main“:
personnages = ['sam','max']
i = 1
#i = 0
#personnages = {'sam':'sam','max':'max'}
res = try_test(personnages,i)
print(res)
]]>Avec la syntaxe raise e on rajoute une exception à la pile/stack trace,
alors qu’avec la syntaxe raise la trace s’arrête au raise d’origine, on ne surcharge pas la pile, ce qui peut être utile si on utilise sys.exc_info().
Dans le code suivant Python 2 & 3:
try:
raise IOError("erreur")
except IOError as e:
raise e
Traceback (most recent call last): File "", line 4, in raise e File "", line 2, in raise IOError("erreur") OSError: erreur
try:
raise IOError("erreur")
except IOError as e:
raise
Traceback (most recent call last): File "", line 2, in raise IOError("erreur") OSError: erreur]]>
j’en profite pour vous mettre ce lien https://openclassrooms.com/courses/les-exceptions-9 qui est a peu près semblable a celui de ce site !!!
]]>