Demat'iNal
c'est l'époque des sondages on dirait… alors, d'après toi, qu'affiche l'exécution de ce code Python :
e = 1
try:
raise NotImplementedError
except NotImplementedError as e:
pass
print(type(e))
<class 'int'>
SyntaxError
<class 'NotImplementedError'>
NameError
# Troy
Posté par warwick . Évalué à 1 (+0/-0).
< Troy >
# Je joue le jeu
Posté par Glandos . Évalué à 2 (+0/-0).
Mon raisonnement complet est un peu fouilli. Mais de base,
e
devrait être1
en sortie du bloctry-except
, parce que les variables locales ne devraient pas déborder. Après, peut-être que les exceptions sont une… exception ?Mais un truc me turlupine, c'est le
raise NotImplementedError
sans parenthèse. Je ne suis pas sûr que ça marche, j'ai l'impression qu'il faut instancier l'erreur, ce n'est pas fait par leraise
.Je vote 2, puis 1.
Je vais exécuter ce code, et bien sûr, je ne vais rien dire de plus ici :)
[^] # Re: Je joue le jeu
Posté par Voltairine . Évalué à 1 (+0/-0).
Je ne pense pas qu'un bloc try/execpt crée un nouveau contexte (nouvelle portée de variable).
# Ma réponse va vous surprendre...
Posté par Elfir3 . Évalué à 2 (+0/-0).
(avec l'encodage qui qui va bien pour éviter de spoiler… mes excuses aux rotteurs natifs)
Gh crhk rger cyhf cerpvf qr pr dhr gh ragraqf cne "rkrphgvba" ?
Wbyv oht qnaf yn ercy ra gbhg pnf :-)
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.