プログラム実行中にエラーが発生した場合、それを適切に処理するために例外処理を使用します。例外処理を行うことで、プログラムのクラッシュを防ぎ、エラーを適切に処理することができます。Pythonでは try、except ブロックを使って例外処理を行います。
try ブロック内に例外が発生する可能性があるコードを記述し、except ブロック内に例外が発生した場合の処理を記述します。
# 例外が発生する可能性があるコード
= 10 / 0
# 例外が発生した場合の処理
この例では、ゼロによる除算が発生した場合に ZeroDivisionError をキャッチし、適切なエラーメッセージを表示しています。
複数の例外を処理する場合は、それぞれの except ブロックを追加します。
# 例外が発生する可能性があるコード
=
= 10 /
# 値エラーが発生した場合の処理
# ゼロによる除算エラーが発生した場合の処理
この例では、ValueError と ZeroDivisionError の両方を処理しています。
except ブロックで例外の詳細情報を取得するために、as キーワードを使って例外オブジェクトを取得することができます。
# 例外が発生する可能性があるコード
= 10 / 0
# 例外が発生した場合の処理
この例では、例外オブジェクト e を取得してエラーメッセージを表示しています。
try ブロック内のコードが例外を発生させなかった場合に実行される else ブロックを追加することができます。
# 例外が発生する可能性があるコード
= 10 / 2
# 例外が発生した場合の処理
# 例外が発生しなかった場合の処理
この例では、例外が発生しなかった場合に計算結果を表示しています。
finally ブロックは、例外の発生有無にかかわらず、常に実行されるコードを記述するために使用します。リソースのクリーンアップなどに役立ちます。
# 例外が発生する可能性があるコード
=
=
# 例外が発生した場合の処理
# 常に実行されるコード
この例では、ファイルを開く試みを行い、ファイルが見つからない場合の処理を行い、最後にファイルを閉じる処理を finally ブロックで行っています。
独自の例外クラスを定義することで、特定の条件に対してカスタム例外を発生させることができます。ユーザー定義例外は、標準の例外クラスを継承して作成します。
"""ユーザー定義例外"""
pass
この例では、負の値が渡された場合に CustomError を発生させ、その例外をキャッチして適切に処理しています。
この章では、Pythonの例外処理について学びました。例外処理を使用することで、エラーが発生した場合に適切な対応を行い、プログラムの安定性を向上させることができます。次の章では、オブジェクト指向プログラミング(OOP)について学びます。クラスとオブジェクトを使って、より複雑なデータ構造とロジックを効果的に管理する方法を理解しましょう。