python 基礎

try, except

Pythonで例外(実行中に検出されたエラー)をキャッチして処理をする。
例外が発生しても途中で終了させずに処理を継続できる。
else, finallyを使うと、終了時の処理を設定可能。

try:
    print(1 / 0)
except ZeroDivisionError:
    print('Error')
# Error

except 例外名 as 変数名:

try:
    print(1 / 0)
except ZeroDivisionError as e:
    print(e)
# division by zero

try for except

try:
    for i in [-2, -1, 0, 1, 2]:
        print(1 / i)
except ZeroDivisionError as e:
    print(e)
# -0.5
# -1.0
# division by zero

複数の例外に異なる処理

def divide_each(a, b):
    try:
        print(a / b)
    except ZeroDivisionError as e:
        print('catch ZeroDivisionError:', e)
    except TypeError as e:
        print('catch TypeError:', e)

divide_each(1, 0)
# catch ZeroDivisionError: division by zero

divide_each('a', 'b')
# catch TypeError: unsupported operand type(s) for /: 'str' and 'str'

エラー処理 except

TypeError
不適切な型に対して演算や組み込み関数による処理が行われた場合のエラー。

エラー例
異なる型のオブジェクトを+演算子で加算しようとした場合。
文字列や数値を浮動小数点型に変換する組み込み関数にオブジェクトを渡した場合。

コメント

タイトルとURLをコピーしました