Pythonで例外の引数(エラー情報)を取得する方法をわかりやすく解説
Pythonでは、例外は「引数」を持つことができます。引数とは、発生した問題に関する追加情報を提供する値のことで、その中身は例外の種類によって異なります。例外の引数を取得するには、except 節に変数を指定します。
基本的な例
次のコードでは、ゼロ除算によって発生した例外の引数を変数に受け取り、表示しています。
try:
b = float(56 + 78 / 0)
except Exception as argument:
print('これは例外の引数です\n', argument)
実行結果
これは例外の引数です division by zero
このように、except 節で as 変数名 と記述すると、発生した例外オブジェクトを変数に受け取ることができ、エラーの詳細情報をプログラム内で利用できるようになります。
単一の例外と複数の例外の扱い方
単一の例外だけを処理する場合は、except 文で例外名の後に変数を続けて記述します。一方、複数の例外をまとめて捕捉したい場合は、例外名をタプルで指定し、その後に変数を続けます。
try:
# 何らかの処理
except (ValueError, TypeError) as e:
print('エラーが発生しました:', e)
例外の引数に含まれる情報
except 節で受け取った変数には、例外の値が格納されます。多くの場合、そこには例外が発生した原因が含まれています。変数が受け取るのは単一の値の場合もあれば、タプル形式で複数の値の場合もあります。このタプルには通常、以下のような情報が含まれます。
- エラーメッセージ(文字列)
- エラー番号
- エラーの発生位置
args属性で引数を直接参照する
例外オブジェクトの args 属性を使えば、引数をタプルとして直接参照することもできます。
try:
raise ValueError('不正な入力です', 42)
except Exception as e:
print(e.args) # ('不正な入力です', 42)
print(type(e.args)) # <class 'tuple'>
エラーログの記録や、ユーザーへの分かりやすいエラーメッセージの表示など、例外の引数を適切に活用することで、より堅牢でデバッグしやすいPythonプログラムを作成できます。
-
Python関数に辞書を引数として渡す方法をわかりやすく解説
Pythonでは、辞書(dict)をそのまま関数の引数として渡すことができます。関数の中では、受け取った辞書のキーと値のペアを順番に取り出して処理し、結果を出力することが可能です。 以下のコードでは、辞書 d を関数 f の引数として渡し、関数内で各キーと値のペアに対して「値 × 2」の計算を行っています。 例 d = {a: 1, b: 2, c: 3} def f(dict): for k, v in dict.items(): print(k, 2 * v) f(d) 出力 a 2 b 4 c 6 コードの解説 辞書 d には、キー a・b・c に対して、そ
-
Pythonで関数を引数として渡す方法をわかりやすく解説
Pythonでは、関数もオブジェクトの一つとして扱われるため、他の関数の引数として渡すことができます。この仕組みを活用すると、柔軟で再利用性の高いコードを書くことができます。map()関数を使った例Pythonが標準で提供している代表的な例が、第一引数に関数を受け取る map() 関数です。map(function, iterable, ...) — iterable(イテラブル)の各要素に対してfunctionを適用し、その結果を返します。もちろん、独自に定義したカスタム関数でも、引数として関数を受け取るように実装できます。自作関数sqr(x)を引数として渡すここでは、リストの各要素を2乗す