17

私は python が初めてで、例外を処理せずに try-catch-else ステートメントを作成できるかどうか疑問に思っていますか?

お気に入り:

try:
    do_something()
except Exception:
else:
    print("Message: ", line) // complains about that else is not intended
4

2 に答える 2

32

次のサンプル コードは、pass を使用して例外をキャッチして無視する方法を示しています。

try:
    do_something()
except RuntimeError:
    pass # does nothing
else:
    print("Message: ", line) 
于 2012-05-05T17:09:58.633 に答える
17

Jochen Ritzel の回答が良い回答であることに同意しますが、小さな見落としがあると思います。ing することpassで、例外は /is/ 処理され、何も行われないだけです。本当に、例外は無視されます。

本当に例外を処理したくない場合は、例外をraised にする必要があります。次のコードは、Jochen のコードにその変更を加えます。

try:
    do_something()
except RuntimeError:
    raise #raises the exact error that would have otherwise been raised.
else:
    print("Message: ", line) 
于 2012-05-05T17:36:17.810 に答える