<一覧に戻る

try、except文の基本構造

Pythonでは、プログラムを実行する際に発生する可能性のあるエラーを処理するために、tryexcept文を使用します。これにより、プログラムが異常終了するのを防ぎ、エラーに対して適切に対処することができます。

tryブロック

tryブロックは、エラーが発生する可能性のあるコードを囲むためのものです。tryブロック内のコードが正常に実行されれば、exceptブロックはスキップされます。もしエラーが発生した場合は、exceptブロックが実行されます。

基本構造

以下は、tryexcept文の基本的な構造です。

try:
    # エラーが発生する可能性のあるコード
    risky_code()
except SomeException:
    # エラーが発生した場合の処理
    handle_error()

サンプルコード

次に、具体的なサンプルコードを見てみましょう。このコードでは、ユーザーから数値を入力してもらい、その数値を2で割る処理を行います。

def divide_by_two():
    try:
        user_input = input("数値を入力してください: ")
        number = float(user_input)  # ユーザー入力をfloatに変換
        result = number / 2
        print(f"{number}を2で割ると、{result}です。")
    except ValueError:  # 数値変換に失敗した場合
        print("無効な数値です。数値を入力してください。")

コード解説

  1. divide_by_two関数を定義して、ユーザーから数値を入力してもらいます。
  2. tryブロック内で、input関数を使用してユーザーに数値を入力してもらい、その入力をfloatに変換します。
  3. 入力が正常に数値に変換された場合、2で割った結果を計算して表示します。
  4. もしユーザーが無効な数値(例えば文字列)を入力した場合、ValueErrorが発生し、exceptブロックが実行されます。この場合、エラーメッセージを表示します。

実行結果

この関数を実行します。

divide_by_two()

以下のように動作します。

有効な入力の場合

数値を入力してください: 10
10.0を2で割ると、5.0です。

無効な入力の場合

数値を入力してください: abc
無効な数値です。数値を入力してください。

このように、tryexceptを使用することで、プログラムの安定性を向上させることができます。今後は、異なる種類のエラーに対する処理方法を学んでいくことになりますが、まずはこの基本的な構造をしっかりと理解しておきましょう。

出力結果: