私はいくつかのことを行い、悪いファイル名をキャッチするメソッドを書きました。パスが存在しない場合は、IOErrorがスローされます。しかし、それは私の例外処理が悪い構文であると考えています...なぜ??
defwhatever(): try: #do stuff #and more stuff ただしIOError: #これを行う pass whatever()
ただし、whatever()
を呼び出す前に、次のように出力します。
トレースバック(最後の最後の呼び出し): ファイル ""、1行目 ファイル "getquizzed.py"、55行目 ただしIOError: ^ SyntaxError:無効な構文
インポートすると...ヘルプ?!
インデントを確認してください。この役に立たないSyntaxError
エラーには 前に私をだましました。 :)
削除された質問から:
I'd expect this to be a duplicate, but I couldn't find it.
Here's Python code, expected outcome of which should be obvious:
x = {1: False, 2: True} # no 3
for v in [1,2,3]:
try:
print x[v]
except Exception, e:
print e
continue
I get the following exception: SyntaxError: 'continue' not properly in loop.
I'd like to know how to avoid this error, which doesn't seem to be
explained by the continue documentation.
I'm using Python 2.5.4 and 2.6.1 on Mac OS X, in Django.
Thank you for reading
古いインストールを使用する特権がある場合は、さらに1つ可能性があります
and
'as'構文を使用しています:
except IOError as ioe:
and
パーサーは「as」でつまずきます。
as
の使用は、Python 2.6以降で推奨される構文です。
Python 2.5以前では構文エラーです。2.6より前の場合は、次を使用してください。
except IOError, ioe:
try
ブロックに何かが欠けているだけです。つまり、pass
などです。そうでない場合は、インデントエラーが発生します。
try
ブロックの横に何かを配置しないと、構文エラーが発生します。スペースを保持するためだけにpass
を置くことができます。
try:
# do stuff
# and more stuff
pass
except IOError:
# do this
pass