はじめに
ここでは、Pythonの例外処理について解説します。
例外処理の基本
例外処理は、プログラムを実行中に何らかのエラーが発生した場合の処理を記述するものです。
try
とexcept
を用いて、以下のように記述します。
import pandas as pd
try:
df = pd.read_csv('sample.csv')
except FileNotFoundError:
print('File not found.')
try
に続けてエラー(例外)が発生する可能性のある処理を、except
に続けてエラーが発生した場合の処理を記述します。
except
に続けてエラーの種類を書いておくと、指定したエラーが発生した場合に例外処理が実行されます。
ここで示した例では、FileNotFoundError
(指定されたファイルが見つからないという例外)が発生した場合のみ、except
節の処理が実行されます。
except
の直後に何も記述しなかった場合は全てのエラーに対して、except
節の処理が実行されますが、予期せぬエラーに対しても処理が実行されてしまうため、推奨されません。
else節
else
を入れると、エラーが発生しなかった場合に、続けて行いたい処理を記述することができます。
import pandas as pd
try:
df = pd.read_csv('sample.csv')
except FileNotFoundError:
print('File not found.')
else:
df.to_excel('sample.xlsx', index=False)
上の例では、読み込んだファイルと同じ内容をエクセルファイルとして保存するようにしています。
finally節
finally
を使うと、エラーが発生したかどうかに関係なく実行したい処理を記述できます。
import pandas as pd
try:
df = pd.read_csv('sample.csv')
except FileNotFoundError:
print('File not found.')
finally:
print('finished.')
上の例では、ファイルが読み込めても読み込めなくても、最後にfinished.
という文字列が出力されます。
まとめ
ここでは、Pythonの例外処理について解説しました。
ユーザーからの入力を求めたり、データベースに接続したりする場合には例外処理を入れておくと良いでしょう。