387 votes

Attraper une exception lorsque vous utilisez un Python ' avec ' Déclaration

À ma grande honte, je n'arrive pas à comprendre comment gérer exception pour python 'par' instruction. Si j'ai un code:

with open("a.txt") as f:
    print f.readlines()

J'ai vraiment envie de gérer "fichier non trouvé exception" afin de faire un support. Mais je ne peux pas écrire

with open("a.txt") as f:
    print f.readlines()
except:
    print 'oops'

et vous ne pouvez pas écrire

with open("a.txt") as f:
    print f.readlines()
else:
    print 'oops'

enveloppant "avec" dans un try/except déclaration ne fonctionne pas autre chose: l'exception n'est pas soulevée. Que puis-je faire afin d'échec du processus à l'intérieur "avec la" déclaration dans un Pythonic?

330voto

Douglas Leeder Points 29986
<pre><code></code><p>Si vous voulez différentes de manutention pour les erreurs de l’appel ouvert au lieu du code du travail vous pourriez faire :</p><pre><code></code></pre></pre>

-1voto

Loïc Wolff Points 1216

J’ai juste essayé, enfermant l’avec dans un try / sauf fonctionne très bien.

-1voto

Eugene Morozov Points 4417

Ce code fonctionne très bien en python 2.5.1 :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X