try-exceptの基本構文
try ブロックの中でエラーが発生すると、処理が止まる代わりに except ブロックに移動します。
1. 基本構造
try:
result = 10 / 0 # ゼロ除算エラー
print(result)
except ZeroDivisionError:
print("エラー:0では割れません")
print("処理を続けます")
▶ 出力結果
エラー:0では割れません 処理を続けます
2. エラーメッセージを取得する
try:
number = int("abc") # 数値に変換できない文字列
except ValueError as e:
print(f"ValueError が発生:{e}")
▶ 出力結果
ValueError が発生:invalid literal for int() with base 10: 'abc'
3. 実用例:安全な数値入力
def safe_int(text):
try:
return int(text)
except ValueError:
print(f"'{text}' は数値ではありません")
return None
print(safe_int("42"))
print(safe_int("hello"))
print(safe_int("100"))
▶ 出力結果
42 'hello' は数値ではありません None 100
