rohaniのブログ

ゆるっと自然言語処理奴。ときどき工作系バイト。

try, except 〜例外処理〜

用途

  • 予測可能なエラー発生時に、エラーログを残しつつ処理が続くように作る
  • エラーの種類によって処理を分岐させる

エラーメッセージ

>>> 10 * (1/0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero
  • エラーメッセージの最終行は 例外型:メッセージ
  • 上記の例では、ZeroDivisionErrorが例外の型

例外を捉える

>>> try:
>>>     print(10 * (1/0))  #エラーが発生し得る処理
>>> except ZeroDivisionError as e:
>>>     print(e)  #ZeroDivisionError型のエラーが発生した時に実行される処理
division by zero
  • except 例外型 as 変数名とする
  • eにはexceptで定めた例外型のエラーが発生した時、例外オブジェクトが格納される
  • 特定のエラーを無視したいときなどは、exceptの中にpassを書くことで実現できる

参考