Pythonのexcept文:初心者向け徹底解説【実例付き】
基本から応用まで徹底解説!例外処理でエラーを管理し、コードを安定化させる方法を学びましょう。
Pythonのexcept文の基本
Pythonのexcept
文は、try
ブロック内で発生した例外をキャッチし、適切に処理するために使用されます。これにより、プログラムが予期しないエラーで停止するのを防ぎます。
- 基本構文:
try
とexcept
を組み合わせて使用 - 特定の例外をキャッチ: エラータイプを指定可能
- 汎用的なエラー処理: すべての例外をキャッチ
try:
# エラーが発生する可能性のあるコード
except ExceptionType:
# エラー発生時の処理
Pythonのexcept文の使い方
例1: ゼロ除算のエラー処理
try:
result = 10 / 0
except ZeroDivisionError:
print("ゼロで割ることはできません。")
出力: ゼロで割ることはできません。
例2: 配列インデックスエラーのキャッチ
try:
items = [1, 2, 3]
print(items[5])
except IndexError:
print("インデックスが範囲外です。")
出力: インデックスが範囲外です。
例3: ファイル操作の例外処理
try:
with open("nonexistent_file.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("指定されたファイルが見つかりません。")
出力: 指定されたファイルが見つかりません。
例4: 複数の例外を処理
try:
value = int("abc")
except ValueError:
print("無効な値です。")
except TypeError:
print("タイプエラーが発生しました。")
出力: 無効な値です。
例5: すべての例外をキャッチ
try:
result = 10 / 0
except Exception as e:
print(f"エラーが発生しました: {e}")
出力: エラーが発生しました: division by zero
例6: elseブロックの使用
try:
result = 10 / 2
except ZeroDivisionError:
print("ゼロで割ることはできません。")
else:
print(f"計算結果: {result}")
出力: 計算結果: 5.0
例7: finallyブロックの使用
try:
result = 10 / 0
except ZeroDivisionError:
print("ゼロで割ることはできません。")
finally:
print("処理が終了しました。")
出力:
ゼロで割ることはできません。
処理が終了しました。
例8: ユーザー定義例外の処理
class CustomError(Exception):
pass
try:
raise CustomError("カスタムエラーが発生しました。")
except CustomError as e:
print(f"エラー: {e}")
出力: エラー: カスタムエラーが発生しました。
実務的ユースケース
例1: APIのエラー処理
import requests
try:
response = requests.get("https://api.example.com/data")
response.raise_for_status()
except requests.exceptions.RequestException as e:
print(f"APIエラーが発生しました: {e}")
例2: ファイル操作の例外処理
try:
with open("example.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("ファイルが見つかりません。")
except IOError:
print("ファイル読み取りエラーが発生しました。")
次に読むべき記事
まとめ
Pythonのexcept
文は、エラー処理を簡潔かつ効果的に行うための重要なツールです。本記事を参考に、適切な例外処理を実装し、コードの安定性を向上させましょう。
さらにPythonを学びたい方は、以下の記事もチェック!
Python完全ガイドを見る
コメント