Journal le défi du challenge : qu'affiche ce code

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
7
1
déc.
2024

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))
  1. <class 'int'>
  2. SyntaxError
  3. <class 'NotImplementedError'>
  4. NameError
  • # Troy

    Posté par  . Évalué à 1 (+0/-0).


    < Troy >


         \   ^__^ 
          \  (oo)\_______
             (__)\       )\/\\
                 ||----w |
                 ||     ||
    
  • # Je joue le jeu

    Posté par  . Évalué à 2 (+0/-0).

    Mon raisonnement complet est un peu fouilli. Mais de base, e devrait être 1 en sortie du bloc try-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 le raise.

    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  . É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  . É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.