<< home

Pythonの例外処理

プログラムを実行すると、思わぬエラー(例外)が発生することがあります。Pythonでは、try-exceptを使って例外を処理し、プログラムが強制終了しないようにすることができます。


1. 例外とは?

例外(Exception)は、プログラムの実行中に発生するエラーのことです。例えば、ゼロ除算や存在しないファイルの読み込みなどが該当します。

# ZeroDivisionError(ゼロ除算エラー) print(10 / 0) # エラー発生!
# FileNotFoundError(ファイルが見つからない) with open("not_exist.txt", "r") as f: content = f.read()

2. try-exceptによる例外処理

try ブロックにエラーが発生する可能性のあるコードを記述し、except でエラーをキャッチします。

基本的な例

try: print(10 / 0) except ZeroDivisionError: print("ゼロで割ることはできません!")

エラーが発生してもプログラムが停止せず、適切なメッセージを表示できます。


3. 複数の例外を処理する

except を複数用意することで、異なる種類の例外を個別に処理できます。

try: num = int("Hello") print(10 / 0) except ZeroDivisionError: print("ゼロ除算エラー!") except ValueError: print("数値に変換できません!")

4. 例外の詳細情報を取得する

as を使うと、発生した例外の詳細を取得できます。

try: result = 10 / 0 except ZeroDivisionError as e: print(f"エラー発生: {e}")

5. elsefinally

else: 例外が発生しなかった場合の処理

try: num = int("10") except ValueError: print("数値に変換できません!") else: print("正常に処理されました!")

finally: 例外の有無に関係なく実行される処理

try: f = open("sample.txt", "r") content = f.read() except FileNotFoundError: print("ファイルが見つかりません!") finally: print("処理終了。リソースを解放します。")

finally は、ファイルを閉じる処理など、後始末が必要な場面で役立ちます。


6. 独自の例外を作成する

Pythonでは、raise を使って独自の例外を作ることができます。

class CustomError(Exception): pass try: raise CustomError("これはカスタムエラーです!") except CustomError as e: print(f"カスタム例外が発生しました: {e}")

7. まとめ

適切に例外処理を行うことで、エラーが発生してもプログラムが安全に動作するようになります!


<< home