Python | try…except文でエラーの判定処理方法

2023-02-23Python 判別・判定,Python

Python | try…except文でエラーの判定処理方法

Pythonのtry…except文でエラーの判定処理を実装する方法とサンプルコードを紹介しています。

確認環境

Windows11 ローカル
Python python-3.11.1

try…except文でエラーの判定処理

Pythonでtry…except文は発生するエラーによる途中終了を回避して処理を継続させる事ができます。

以下のコードでは、NameErrorの発生を判定して処理を振り分けます。

try:
	print(x)
except NameError:
	print('NameError')
else:
	print('not error')

# NameError

処理に問題がない場合はelse後の処理を実行します。

x = 100
try:
	print(x)
except NameError:
	print('NameError')
else:
	print('no error')

# no error

except文は複数記述する事が可能です。

try:
	print(x)
except NameError:
	print('NameError')
except TypeError:
	print('TypeError')
else:
	print('no error')

# NameError

try…except文でエラーの情報を取得する

asにてイベント内容を取得すれば発生した例外エラーの情報をキャッチする事が可能です。

try:
	print(x)
except NameError as e:
	print(e)
else:
	print('not error')

# name 'x' is not defined

try…except文で複数のエラータイプを一括指定する

複数のエラータイプを一括指定して対応するには括弧内にカンマ区切りで指定していきます。

SyntaxError や IndentationError などはそれ以前にエラーが発生するため、ここでは必要ありません。

try:
	print(x)
except (ArithmeticError, NameError, ZeroDivisionError, TypeError, IndexError, KeyError) as e:
	print(e)
else:
	print('not error')

# name 'x' is not defined