1. はじめに
Pythonでプログラムを書くとき、エラーが発生することは避けられません。そんなときに重要なのが「例外処理」です。この記事では、Python|例外処理 try-exceptの基本と注意点について、初心者にもわかりやすく解説します。
例外処理を正しく使えば、エラーが起きてもプログラムが途中で止まらず、安全に動作を続けることができます。また、ユーザーに優しいメッセージを表示することで、アプリケーションの品質も向上します。
2. Pythonの例外処理 try-exceptの基本構文と使い方
例外処理とは?
例外処理とは、実行中に起こるエラー(例外)をキャッチして対処する方法です。エラーが発生すると通常はプログラムが停止しますが、try-exceptを使えば停止せずに処理を続けることができます。
基本的なtry-except構文
try:
# エラーが発生する可能性のある処理
num = int(input("数字を入力してください: "))
print("入力した数字は:", num)
except ValueError:
# エラーが発生した場合の処理
print("エラー: 数字を入力してください。")
実行結果例(正しい入力時):
数字を入力してください: 10
入力した数字は: 10
実行結果例(エラー時):
数字を入力してください: abc
エラー: 数字を入力してください。
exceptは複数指定できる
exceptは複数の例外を処理できます。
try:
lst = [1, 2, 3]
print(lst[5])
except IndexError:
print("エラー: リストの範囲外を参照しました。")
except Exception:
print("その他のエラーが発生しました。")
3. よくある使い方・応用例
ファイル操作での例外処理
ファイル読み込み時にも、ファイルが存在しない場合などの例外を処理できます。
try:
with open("data.txt", "r") as file:
content = file.read()
print(content)
except FileNotFoundError:
print("エラー: ファイルが見つかりませんでした。")
ゼロ除算の処理
ゼロで割ったときのエラー(ZeroDivisionError)も頻出です。
try:
a = 10
b = 0
result = a / b
print(result)
except ZeroDivisionError:
print("エラー: 0で割ることはできません。")
else句やfinally句の活用
try-exceptには、elseやfinallyも併用できます。
else: エラーが発生しなかった場合のみ実行
finally: エラーの有無に関係なく必ず実行
try:
num = int(input("数字を入力してください: "))
except ValueError:
print("エラー: 数字を入力してください。")
else:
print("入力値:", num)
finally:
print("処理が終了しました。")
4. try-exceptの注意点とよくあるエラー
exceptを広く取りすぎない
except:
だけを書くとすべての例外をキャッチしますが、予期しないバグを隠してしまう危険があります。基本は except 特定の例外:
を使いましょう。
例外の種類を知らないと意味がない
代表的な例外には次のようなものがあります:
ValueError
:型変換に失敗IndexError
:リストの範囲外を参照KeyError
:辞書に存在しないキーTypeError
:型が不正
処理を隠さずログを残す
例外をキャッチしたら、printで表示するだけでなくログに残すのも良い方法です。実務では logging
モジュールを使うことが多いです。
5. まとめ
この記事では、Pythonの例外処理 try-exceptの基本構文から応用、注意点までを丁寧に解説しました。
- try-exceptを使えばプログラムの安定性が向上する
- エラーの種類に応じて適切にexceptを書くことが重要
- elseやfinallyも使って、より柔軟なエラーハンドリングが可能
実務においては、ユーザーの操作ミスや外部ファイルの読み書き失敗など、例外が起こりうる場面が多数あります。早いうちからtry-exceptに慣れておくことが、Python学習の成功のカギになります。