Python学習_初歩編_10 : 例外処理の基本構文(try-except文、finally文、else文)

例外処理には、tryブロック、exceptブロック、finallyブロック、およびelseブロックの4つの基本構文があります。以下にそれぞれの構文について説明し、サンプルコードを示します。

1. try-except文

tryブロック内で例外が発生した場合に、対応するexceptブロックが実行されます。


try:
    # 例外が発生する可能性のあるコード
except エラーの種類:
    # エラーの種類に対する例外処理

#サンプルコード
try:
    num1 = 10
    num2 = 0
    result = num1 / num2  # 0で割り算をしようとする
except ZeroDivisionError:
    print("0で割り算はできません")  # ZeroDivisionErrorの場合の例外処理
        
2. try-except-finally文

finallyブロックは、tryブロック内で例外が発生しても、発生しなくても、必ず実行されます。


try:
    # 例外が発生する可能性のあるコード
except エラーの種類:
    # エラーの種類に対する例外処理
finally:
    # 必ず実行される処理

#サンプルコード
try:
    num1 = 10
    num2 = 0
    result = num1 / num2  # 0で割り算をしようとする
except ZeroDivisionError:
    print("0で割り算はできません")  # ZeroDivisionErrorの場合の例外処理
finally:
    print("処理が完了しました")  # 必ず実行される処理
        
try-except-else文

elseブロックは、tryブロック内で例外が発生しなかった場合に実行されます。


try:
    # 例外が発生する可能性のあるコード
except エラーの種類:
    # エラーの種類に対する例外処理
else:
    # 例外が発生しなかった場合の処理


#サンプルコード
try:
    num1 = 10
    num2 = 5
    result = num1 / num2  # 正常に割り算をする
except ZeroDivisionError:
    print("0で割り算はできません")  # ZeroDivisionErrorの場合の例外処理
else:
    print("結果:", result)  # 例外が発生しなかった場合の処理
        
3つの基本構文を組み合わせ

try-except文、try-except-finally文、try-except-else文の3つの基本構文を組み合わせることで、複雑な例外処理を行うことができます。以下に、それらの構文を組み合わせた例を示します。



try:
    # 例外が発生する可能性のあるコード
except エラーの種類1:
    # エラーの種類1に対する例外処理
except エラーの種類2:
    # エラーの種類2に対する例外処理
except:  # エラーの種類を指定しない場合の例外処理
    # その他のエラーに対する例外処理
else:
    # 例外が発生しなかった場合の処理
finally:
    # 必ず実行される処理
        

try:
    num1 = 10
    num2 = 0
    result = num1 / num2  # 0で割り算をしようとする
except ZeroDivisionError:
    print("0で割り算はできません")  # ZeroDivisionErrorの場合の例外処理
except TypeError:
    print("数値以外のデータ型が使用されました")  # TypeErrorの場合の例外処理
except Exception as e:
    print("エラーが発生しました:", e)  # その他のエラーに対する例外処理
else:
    print("結果:", result)  # 例外が発生しなかった場合の処理
finally:
    print("処理が完了しました")  # 必ず実行される処理