エラー辞典

OSError

OS(オペレーティングシステム)レベルの操作に失敗したときに発生する、幅広いエラーの総称です。

原因

ファイル操作やネットワーク通信など、OSに処理を依頼する場面で何らかの問題が起きたことが原因です。FileNotFoundErrorやPermissionErrorなどは、実はこのOSErrorの仲間(サブクラス)です。

エラーになるコード例

disk_path = '/存在しないドライブ/data.txt'
with open(disk_path) as f:
    print(f.read())
OSError: [Errno 2] No such file or directory: '/存在しないドライブ/data.txt'

修正版

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側の問題(ディスク容量不足、ネットワーク切断など)をアプリ側のバグだと勘違いする

← エラー辞典に戻る