OSError
OS(オペレーティングシステム)レベルの操作に失敗したときに発生する、幅広いエラーの総称です。
原因
ファイル操作やネットワーク通信など、OSに処理を依頼する場面で何らかの問題が起きたことが原因です。FileNotFoundErrorやPermissionErrorなどは、実はこのOSErrorの仲間(サブクラス)です。
エラーになるコード例
disk_path = '/存在しないドライブ/data.txt'
with open(disk_path) as f:
print(f.read())修正版
import os
disk_path = '/存在しないドライブ/data.txt'
if os.path.exists(disk_path):
with open(disk_path) as f:
print(f.read())
else:
print('ファイルが見つかりません')よくある間違い
- FileNotFoundErrorなど、より具体的なエラー名があることを知らずに原因調査に時間がかかる
- OS側の問題(ディスク容量不足、ネットワーク切断など)をアプリ側のバグだと勘違いする