[Python]例外の捕捉と処理(try、except文)

Pythonでエラーや例外が発生したとき、それを無視するのではなく適切に処理することが重要です。そのためには、tryexceptというキーワードを使います。

try/exceptの基本

tryexceptを使用すると、エラーや例外が発生する可能性のあるコードを「試し(try)」て、問題が発生した場合には「捕捉して(except)」処理することができます。

try:
    # 例外が発生する可能性のあるコード
except 例外の種類:
    # 例外が発生した場合に実行するコード

try/exceptの例

以下に、tryexceptを使用した具体的な例を示します。

try:
    print(5/0)  # これはZeroDivisionErrorを引き起こす
except ZeroDivisionError:
    print("You can't divide by zero!")

このコードでは、まず5を0で割ろうとします。しかし、0で割るという操作は定義されていないため、PythonはZeroDivisionErrorというエラーを発生させます。このエラーはtryブロック内で発生するため、exceptブロックが実行され、”You can’t divide by zero!”と表示されます。

複数の例外の捕捉

複数の種類の例外を捕捉することも可能です。それぞれの例外タイプに対して別々のexceptブロックを用意することで、それぞれ異なる方法で例外を処理することができます。

try:
    # 何かの処理
except ZeroDivisionError:
    print("You can't divide by zero!")
except ValueError:
    print("Invalid input!")

このコードはZeroDivisionErrorValueErrorの2種類の例外を個別に捕捉します。ZeroDivisionErrorが発生すると”You can’t divide by zero!”と表示し、ValueErrorが発生すると”Invalid input!”と表示します。

try/exceptを使うと、プログラムがエラーを引き起こすと即座に停止するのを防ぐことができます。代わりに、エラーを適切に処理して、プログラムがエラー発生後も続行できるようにすることが可能です。