Перехват исключений Python с использованием метода «ожидаем»? - PullRequest
1 голос
/ 04 марта 2009
import sys
try:
        file = open("words.txt")
expect(IOError):

if file:
    print "%s" % file
else:
    print "Cant the %s file" % "words.txt"

это дает мне ошибку -

File "main.py", line 4 
    expect(IOError):
    SyntaxError: invaild syntax

Что я не так делаю / как это исправить

Ответы [ 5 ]

12 голосов
/ 04 марта 2009

На самом деле это исключение:

Например:

except IOError:
    print "Error opening file!"
4 голосов
/ 04 марта 2009

Полагаю, вы пытаетесь обработать исключения. В этом случае используйте за исключением , а не ожидайте . В любом случае, за исключением , не является функцией , скорее, он предшествует блоку кода обработки ошибок. При использовании файлов вы можете посмотреть на с оператором и try-исключением-finally . Исправление к вашему коду-

import sys
try:
        file = open("words.txt")
except IOError:
      #Handle error
      pass
if file:
    print "%s" % file
else:
    print "Cant the %s file" % "words.txt"

Надеюсь, это поможет.

1 голос
/ 04 марта 2009

>>> try:
...     f = open('words.txt')
... except IOError:
...     print "Cant the %s file" % "words.txt"
... else:
...     print "%s" % f

1 голос
/ 04 марта 2009

Я думаю, что вы ищете кроме . Обработка ошибок в руководстве по Python это хорошо объясняет.

-John

1 голос
/ 04 марта 2009

Это except. Прочитайте это .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...