今回やること
プログラムでは、入力ミスやファイル不足などで失敗することがあります。
例外処理は、エラーが起きてもプログラム全体を止めないための書き方です。
今回は、try、except、エラー名の指定を練習します。
try exceptの基本
try:
age = int(input("年齢: "))
print(f"来年は{age + 1}歳です")
except ValueError:
print("数字を入力してください")
try の中でエラーが起きると、対応する except が実行されます。
エラー名を指定する
try:
result = 10 / 0
except ZeroDivisionError:
print("0では割れません")
どんなエラーでもまとめて受けるより、まずはエラー名を指定します。
成功したときの処理
try:
score = int(input("点数: "))
except ValueError:
print("数字を入力してください")
else:
print(f"点数は{score}点です")
else は、エラーが起きなかったときに実行されます。
よくあるエラー
| 問題 | 原因 | 修正 |
|---|---|---|
| 何でも握りつぶす | except: だけを書いている | エラー名を指定する |
| 原因が分からない | エラーを表示していない | 最初はTracebackも読む |
| 範囲が広すぎる | try に全部入れている | 失敗しそうな行だけ入れる |
練習
- 数字入力を
try exceptで守る - 0除算を処理する
elseを使って成功時だけ表示する- エラー名を変えて挙動を見る
次のステップ
ファイルを扱うと失敗パターンが増えるため、Pythonのファイル読み書き で練習します。