【Python】tryしてexceptしたい例外の名前を調べる方法

「へーそうやって調べられるんだ」ってなったのでメモ

sys.exc_info()を使う

json.loadsは読み込むjsonファイルの中身が空っぽの場合に、
エラーとなるがそのときにどういう名前の例外が発生するのかを調べる

これを実行すると、

的なメッセージが出力されるので今回だと例外のタイプとして1個目のprintで、
json.decoder.JSONDecodeError
がでているので、

except json.decoder.JSONDecodeError:

でキャッチできる。

そうなんです。別にsys.exc_info()使わなくても例外の名前はわかるんです

試してみてわかったのですが、

json.loadsの部分をtryせずに実行すると、

とでてくるわけなので、

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
ここの左の部分にでてるのが例外の名前ってことみたいですね。

そんな感じです。

今日の一言

学んだことはしっかりアウトプットしていきたい

技術系

Posted by chat