なんだかGoodVibes

日々の勉強メモです。

【Python】例外処理(try-except)

こんにちは。
本日はPythonメモです。

サンプルコード

例外処理は、try-exceptです。
以下の例では、ZeroDivisionErrorが発生するようにして
その例外をキャッチするようにしています。

try:
    num = 1 / 0
except ZeroDivisionError as err:
    print('Error! : ' + str(err))

実行結果は以下です。

Error! : division by zero


exceptは複数指定することが可能です。

try:
    num = 'a' / 0
except ZeroDivisionError as err:
    print('ZeroDivisionError! : ' + str(err))
except TypeError as err:
    print('TypeError! : ' + str(err))

実行結果は以下です。

TypeError! : unsupported operand type(s) for /: 'str' and 'int'

もしくは、以下のように複数を一度に指定することも可能です。

try:
    num = 'a' / 0
except (ZeroDivisionError, TypeError) as err:
    print('Error! : ' + str(err))

実行結果は以下です。

Error! : unsupported operand type(s) for /: 'str' and 'int'


すべての例外をキャッチするような場合は、
以下の書き方もできます。

try:
    print(text)
except Exception as err:
    print('Error! : ' + str(err))

実行結果は以下です。

Error! : name 'text' is not defined

finallyの使用も可能です。
先程の例にfinallyを指定してみます。

try:
    print(text)
except Exception as err:
    print('Error! : ' + str(err))
finally:
    print('Finelly')

実行結果は以下です。

Error! : name 'text' is not defined
Finelly



以上です。