非标准
该特性是非标准的,请尽量不要在生产环境中使用它!
在 文件系统 API 中, FileException
表示错误条件,你可能在使用同步 API 访问文件系统时遇到。它扩展了 FileException 接口,在 File Writer 中描述,并添加了几个新的错误代码。
基本概念
同步 API 没有错误回调,这使其难以捕获错误。和这个 API 一起使用 WebWorkers 的额外复杂性,使得调试更具有挑战性。为了使事情简化,将你的工作器代码包在 try/catch 里面。当错误发生时,使用 postMessage()
将它们转发给主应用,像这样:
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); }
示例代码取自 HTML5Rocks
属性
Attribute | Type | Description |
---|---|---|
code |
unsigned short |
用于该条件的最合适的错误代码。 |
常量
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 |
没有足够的剩余空间,或者存储器配额已达到,并且用户拒绝向数据库提供更多空间。 |
SECURITY_ERR |
2 |
拒绝文件访问,由于下列原因之一:
|
TYPE_MISMATCH_ERR |
11 | 用户尝试检索文件或者目录,但是找到的条目类型错误。例如,应用正在访问 DirectoryEntry ,当用户请求 FileEntry 的时候。 |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 13webkit | 未实现 | 未实现 | 未实现 | 未实现 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 未实现 | 0.16 webkit | 未实现 | 未实现 | 未实现 | 未实现 |
另见
规范:文件 API:目录和系统规范WD
参考:文件系统 API