--- title: FileError slug: Web/API/FileError tags: - API - File API - ファイル - リファレンス - 廃止 translation_of: Web/API/FileError ---
{{APIRef("File System API")}}{{obsolete_header}}

{{domxref("FileReader")}} インターフェイスの使用中に発生するエラーを表します。

メモ: このインターフェイスは、最新の仕様では廃止されています。代わりに新しい DOM4 {{domxref("DOMError")}} インターフェイスを使用してください。

File System API では、FileError は非同期 API を使用してファイルシステムにアクセスする際に発生する可能性があるエラーの状態を表します。File Writer で説明されている FileError インターフェイスを拡張し、いくつかの新しいエラーコードを追加します。

FileError オブジェクトはエラーコールバックに渡されます。オブジェクトには、発生したエラーの種類を示すコードがあります。

ベストプラクティス

ほとんどの人は、困惑していない限り、エラーや例外に関するページを読んでいません。したがって、いくつかの落とし穴を避けるのに役立つヒントを次に示します。

エラーコールバックはあなたの正気のためのオプションではありません

エラーコールバックはオプションですが、ユーザーの正当性のためにメソッドの引数に含める必要があります。ウェブアプリはさまざまな理由で失敗する可能性があるので、残りの部分は何かを推測してトラブルシューティングをすることは避けてください。

file:// からアプリを実行しないでください

セキュリティ上の理由から、ブラウザでは file:// からアプリを実行することはできません。実際、File System、BlobBuilder、FileReader といった強力なストレージ API の多くは、file:// からローカルでアプリケーションを実行するとエラーが発生します。 アプリをテストしているだけで、ウェブサーバーを設定したくない場合は、Chrome のセキュリティ制限を回避できます。 --allow-file-access-from-files フラグを付けて Chrome を起動してください。このフラグは、テスト目的でのみ使用してください。

属性

属性 タイプ 説明
code unsigned short 条件に最も適切なエラーコード。可能な値については {{anch("Error codes")}} を参照してください。

エラーコード

{{Note("定数の数値に頼らないでください。定数は仕様の変更に伴って変更される可能性があります。代わりに定数名を使用してください。")}}

定数 説明
ENCODING_ERR 5 URL の形式が正しくありません。URL が完全で有効であることを確認してください。
INVALID_MODIFICATION_ERR 9 要求された変更は許可されていません。 たとえば、アプリケーションがディレクトリを独自の子に移動しようとしているか、名前を変更せずに親ディレクトリにファイルを移動しようとしている可能性があります。
INVALID_STATE_ERR 7 インターフェイスオブジェクトの現在の状態で操作を実行することはできません。たとえば、インターフェイスオブジェクトにキャッシュされた状態は、ディスクから最後に読み取られた後に変更されています。
NO_MODIFICATION_ALLOWED_ERR 6 ベースとなるファイルシステムの状態によって、ファイルまたはディレクトリへの書き込みが妨げられています。
NOT_FOUND_ERR 1 操作が処理された時点で、必要なファイルまたはディレクトリが見つかりませんでした。たとえば、ファイルが存在せず、開かれている場合です。
NOT_READABLE_ERR 4 ファイルまたはディレクトリを読み取ることはできません。通常、ファイルへの参照が取得された後に発生するアクセス許可の問題が原因です (たとえば、ファイルまたはディレクトリが別のアプリケーションによって同時にロックされているなど)。
PATH_EXISTS_ERR 12 同じパスを持つファイルまたはディレクトリが既に存在します。
QUOTA_EXCEEDED_ERR 10 残りのストレージスペースが不足しているか、ストレージクォータに達していて、ユーザーがデータベースにスペースを増やすことを拒否しました。保存容量の追加については、HTML5 オフラインストレージの管理をご覧ください。
SECURITY_ERR 2

ファイルへのアクセスは、次のいずれかの理由で拒否されました。

  • これらのファイルは、Web アプリケーション内でアクセスするのに安全ではない可能性があります。
  • ファイルリソースの呼び出しが多すぎます。
  • その他の不特定のセキュリティエラーコードまたは状況。
TYPE_MISMATCH_ERR 11 アプリはエントリを検索しましたが、見つかったエントリのタイプが間違っています。たとえば、エントリが実際にファイルである場合、アプリケーションはディレクトリを要求しています。

ブラウザの互換性

{{Compat("api.FileError")}}

あわせて参照