Non-standard This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
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.
In the File System API, a FileException
object represents error conditions that you might encounter while accessing the file system using the synchronous API. It extends the FileException interface described in File Writer and adds several new error codes.
Basic concepts
Synchronous APIs do not have error callbacks, which makes it difficult to catch errors. The added complexity of using WebWorkers with this API makes debugging even more challenging. To simplify things a bit, wrap your worker code in a try/catch. When errors occur, forward them to the main app using postMessage()
as in the following:
function onError(e) {
postMEssage('ERROR:' + e.toString());
}
try {
//Error is thrown if "log.txt" already exists.
var fileEntry = fs.root.getFile('log.txt', {create: true, exclusive:true}0;
} catch (e) {
onErrror(e);
}
The sample code was borrowed from HTML5Rocks
Attribute
Attribute | Type | Description |
---|---|---|
code
|
unsigned short
|
The most appropriate error code for the condition. |
Constants
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. Examples of invalid modifications include moving 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. |
SECURITY_ERR
|
2 |
Access to the files were denied for one of the following reasons:
|
TYPE_MISMATCH_ERR
|
11 | The user has attempted to look up a file or directory, but the Entry found is of the wrong type. For example, the app is accessing a DirectoryEntry when the user is requesting a FileEntry. |
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 — 29 No support 13 — 29 Prefixed' Implemented with the vendor prefix: webkit |
Edge
No support No |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android
No support No |
Chrome Android No support 18 — 29 No support 18 — 29 Prefixed' Implemented with the vendor prefix: webkit |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android No support 1.0 — 3.0 No support 1.0 — 3.0 Prefixed' Implemented with the vendor prefix: webkit |
Legend
- No support
- No support
- 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.
- Requires a vendor prefix or different name for use.'
- Requires a vendor prefix or different name for use.
See also
Specification: File API: Directories and System SpecificationWD
Reference: File System API
Introduction: Basic Concepts About the File System API
FileException by Mozilla Contributors is licensed under CC-BY-SA 2.5.