Qiita Advent Calendar 2025 のパイソニスタの一人アドカレ Day21 の記事です。
try-except を使った例外処理
Python では、プログラム実行中に エラーが発生すると処理が止まる ことがあります。
そこで try-except を使うと、エラーを検知して安全に処理を続けることができます。
1. 基本の書き方
try:
処理
except エラーの種類:
エラー時の処理
■ 例:ゼロ除算の回避
try:
x = 10 / 0
except ZeroDivisionError:
print("0で割ることはできません")
2. 複数の例外に対応する
try:
num = int(input("整数を入力してください: "))
result = 10 / num
except ValueError:
print("整数を入力してください")
except ZeroDivisionError:
print("0では割れません")
3. 全ての例外を捕まえる
try:
x = 10 / 0
except Exception as e:
print("エラーが発生しました:", e)
-
except Exceptionはどんなエラーでも捕まえる - 原因のメッセージを
eで確認できる - 初心者向けだが、何でも捕まえすぎるとバグの原因になるので注意(想定していないエラーも捕まえてしまうため)
4. finally:必ず実行する処理
try:
f = open("file.txt")
except FileNotFoundError:
print("ファイルが見つかりません")
finally:
print("処理終了")
- エラーの有無に関わらず 必ず実行 される
5. 今日のまとめ
- try:エラーが出そうな処理
- except:エラー発生時の処理
- finally:必ず実行したい処理
- 複数の例外を分けて書くと安全
- 何でも捕まえる
Exceptionは便利だが多用注意
6. ミニ問題
Q1.
ユーザー入力を整数に変換する処理で、数字以外が入力された場合にエラーを出さずに "数字を入力してください" と表示するコードを書いてください。
Q2.
ファイルを開く処理でファイルがなかった場合に "ファイルがありません" と表示するコードを書いてください。