ObsoleteThis feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
Represents an error that occurs while using the FileReader
interface.
Note: This interface is obsolete per the latest specification. Use the new DOM4 DOMError
interface instead.
In the File System API, a FileError
represents error conditions that you might encounter while accessing the file system using the asynchronous API. It extends the FileError
interface described in File Writer and adds several new error codes.
FileError
objects are passed to error callbacks. The objects have a code that shows the type of error that occurred.
Best practices
Most people don't read the page on errors and exceptions unless they're stumped. So the following are a few tips that could help you avoid some pitfalls.
Error callbacks are not optional for your sanity
Although error callbacks are optional, you should include them in the arguments of the methods for the sake of the sanity of your users. A web app could fail for various reasons, so you don't want to spend the rest of your day guessing what's going on and going through maddening troubleshooting.
Don't run your app from file://
For security reasons, browsers do not allow you to run your app from file://
. In fact, many of the powerful storage APIs (such as File System, BlobBuilder, and FileReader) throw errors if you run the app locally from file://
. When you're just testing your app, and you don't want to set up a web server, you can bypass the security restriction on Chrome. Just start Chrome with the --allow-file-access-from-files
flag. Use the flag only for testing purposes.
Attribute
Attribute | Type | Description |
---|---|---|
code
|
unsigned short
|
The most appropriate error code for the condition. See Error codes for possible values. |
Error codes
Note: Do not rely on the numeric values of the constants, which might change as the specifications continue to change. Use the constant names instead.
Constant | Value | Description |
---|---|---|
ENCODING_ERR
|
5 | The URL is malformed. Make sure that the URL is complete and valid. |
INVALID_MODIFICATION_ERR
|
9 | The modification requested is not allowed. For example, the app might be trying to move a directory into its own child or moving a file into its parent directory without changing its name. |
INVALID_STATE_ERR
|
7 | The operation cannot be performed on the current state of the interface object. For example, the state that was cached in an interface object has changed since it was last read from disk. |
NO_MODIFICATION_ALLOWED_ERR
|
6 | The state of the underlying file system prevents any writing to a file or a directory. |
NOT_FOUND_ERR
|
1 | A required file or directory could not be found at the time an operation was processed. For example, a file did not exist but was being opened. |
NOT_READABLE_ERR
|
4 | The file or directory cannot be read, typically due to permission problems that occur after a reference to a file has been acquired (for example, the file or directory is concurrently locked by another application). |
PATH_EXISTS_ERR
|
12 | The file or directory with the same path already exists. |
QUOTA_EXCEEDED_ERR
|
10 | Either there's not enough remaining storage space or the storage quota was reached and the user declined to give more space to the database. To ask for more storage, see Managing HTML5 Offline Storage. |
SECURITY_ERR
|
2 |
Access to the files were denied for one of the following reasons:
|
TYPE_MISMATCH_ERR
|
11 | The app looked up an entry, but the entry found is of the wrong type. For example, the app is asking for a directory, when the entry is really a file. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Chrome No support 13 — 53 No support 13 — 53 Prefixed' Implemented with the vendor prefix: webkit |
Edge
? |
Firefox No support ? — 13 No support ? — 13 Notes' The |
IE
No support No |
Opera
No support ? — 40 |
Safari
No support No |
WebView Android No support ? — 53 No support ? — 53 Prefixed' Implemented with the vendor prefix: webkit |
Chrome Android No support 18 — 53 No support 18 — 53 Prefixed' Implemented with the vendor prefix: webkit |
Firefox Android No support ? — 14 No support ? — 14 Notes' The |
Opera Android
No support ? — 41 |
Safari iOS
No support No |
Samsung Internet Android No support 1.0 — 6.0 No support 1.0 — 6.0 Prefixed' Implemented with the vendor prefix: webkit |
Legend
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- Non-standard. Expect poor cross-browser support.'
- Non-standard. Expect poor cross-browser support.
- Deprecated. Not for use in new websites.'
- Deprecated. Not for use in new websites.
- See implementation notes.'
- See implementation notes.
- Requires a vendor prefix or different name for use.'
- Requires a vendor prefix or different name for use.
See also
- Basic Concepts About the File System API
FileReader
File
Blob
- Specification: FileAPI Errors and exceptionsWD
FileError by Mozilla Contributors is licensed under CC-BY-SA 2.5.