FileException

非标准
该特性是非标准的,请尽量不要在生产环境中使用它!

在 文件系统 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

拒绝文件访问,由于下列原因之一:

  • 在 Web 应用中访问文件是不安全的。
  • 文件资源上有过多调用。
  • 其它未规定的安全错误代码或情况。
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

简介:文件系统 API 的基本概念

文档标签和贡献者