Python3 #32: Try…Except

独習 PYTHON 3

Pythonのtry…except文は、プログラムのエラーハンドリング(例外処理)を行うための構文です。これにより、プログラムの実行中に発生するエラー(例外)をキャッチし、適切に対処することができます。

※初心者向けの13冊のPython独学書

1. 基本的な構文

try…except文の基本的な構文は以下の通りです:

try:
    # 例外が発生する可能性のあるコード
    x = 1 / 0
except ZeroDivisionError:
    # 例外が発生した場合の処理
    print("ゼロによる除算エラーが発生しました")

上記の例では、ゼロによる除算を試みてZeroDivisionErrorが発生しますが、exceptブロック内のコードが実行されるため、プログラムはクラッシュせずにエラーメッセージが表示されます。

2. 複数の例外処理

複数の種類の例外を処理する場合は、複数のexceptブロックを使用します。

try:
    x = int(input("数字を入力してください: "))
    y = 1 / x
except ValueError:
    print("無効な入力です。数字を入力してください。")
except ZeroDivisionError:
    print("ゼロによる除算エラーが発生しました。")

3. 全ての例外を捕捉

特定の例外を指定せずに、全ての例外を捕捉することもできます。ただし、具体的な例外を指定する方が望ましいです。

try:
    x = 1 / 0
except Exception as e:
    print(f"予期しないエラーが発生しました: {e}")

4. elseブロック

例外が発生しなかった場合に実行されるelseブロックを使用することもできます。

try:
    x = 10 / 2
except ZeroDivisionError:
    print("ゼロによる除算エラーが発生しました。")
else:
    print("計算が成功しました。結果は:", x)

5. finallyブロック

finallyブロックは、例外の有無にかかわらず必ず実行されるコードを記述するために使用します。リソースのクリーンアップなどに役立ちます。

try:
    f = open('sample.txt', 'r')
    content = f.read()
except FileNotFoundError:
    print("ファイルが見つかりません")
finally:
    if 'f' in locals():
        f.close()
    print("ファイルの処理が終了しました。")

6. 例: ファイル操作の例外処理

ファイルを開いて読み取る際の例外処理の例を示します。

try:
    with open('example.txt', 'r') as file:
        content = file.read()
except FileNotFoundError:
    print("ファイルが見つかりません")
except IOError:
    print("ファイルの読み取り中にエラーが発生しました")
else:
    print("ファイルの内容:", content)
finally:
    print("ファイル処理が終了しました。")

まとめ

try…except文を使用することで、Pythonプログラムでのエラー発生時に適切な対処が可能となります。特定の例外をキャッチすることで、プログラムの信頼性を高め、予期しないクラッシュを防ぐことができます。elsefinallyブロックを活用することで、より洗練されたエラーハンドリングを実現できます。

購読
通知
0 Comments
Inline Feedbacks
View all comments