Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【python】tryとexceptを使って例外処理する + exceptのときのエラーメッセージを知りたい

try :
 なんか処理
except :
 エラーが起こったときの対応
って書く

exceptのときに何が起こったのかエラーメッセージを取り出したい
ちなみにexceptのあとにエラーの種類によって細かく処理を分けることも可能
except IOError:
とか



exceptに分岐したときのエラーメッセージを知りたいときはsysかtracebackを使えばいい

import sys
try :
 なんか処理
except :
 print(sys.exc_info())
とか
import traceback
try :
 なんか処理
except :
 traceback.print_exc()
とか

後者のtracebackはなんかうまくいかなかった・・・





さらに詳しいエラーメッセージを出したいときは

except Exception as e:
 t, v, tb = sys.exc_info()
 print(traceback.format_exception(t,v,tb))
 print(traceback.format_tb(e.__traceback__))
って感じにする


■ 参考 : PythonのException発生時のTracebackを綺麗に見る



ランキング参加中です

↓クリックしていただけると嬉しいです〜