すべての例外をキャッチする `try`/`except` ブロックを書くにはどうすればいいですか? 質問する

すべての例外をキャッチする `try`/`except` ブロックを書くにはどうすればいいですか? 質問する

すべての例外をキャッチするtry/ブロックをどのように記述すればよいでしょうか?except

ベストアンサー1

except:裸の句(他の人が言うように、これは使用すべきではない)を除いて、単にキャッチすることができますException:

import traceback
import logging

try:
    whatever()
except Exception as e:
    logging.error(traceback.format_exc())
    # Logs the error appropriately. 

通常、たとえば、終了する前にキャッチされない例外を処理したい場合にのみ、コードの最も外側のレベルでこれを行うことを検討することになります。

except Exceptionがbare より優れている点exceptは、キャッチされない例外がいくつかあることです。最も明白なのはKeyboardInterruptと ですSystemExit。それらをキャッチして飲み込んでしまうと、誰もスクリプトを終了できなくなります。

おすすめ記事