FileException - Web API 接口参考 编辑

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

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

属性

AttributeTypeDescription
codeunsigned short用于该条件的最合适的错误代码。

常量

Note: 不要依赖于常量的数值,它可能随着规范改动而改动。使用常量名称来代替。
常量描述
ENCODING_ERR5URL 格式错误。确保 URL 是完整和有效的。
INVALID_MODIFICATION_ERR9请求的改动是不允许的。无效改动包括将目录移动到它的子目录中,或者将文件移动到它的父目录中,而没有修改它的名称。
INVALID_STATE_ERR7在接口对象的当前状态上,不能执行操作。例如,缓存在接口对象中的状态,自从上次从磁盘读取之后发生改变。
NO_MODIFICATION_ALLOWED_ERR6底层文件系统的状态阻止任何文件或者目录的写入。
NOT_FOUND_ERR1在操作执行时,所需文件或者目录无法找到。例如,打开了不存在的文件。
NOT_READABLE_ERR4

文件或者目录不能读取,通常由于权限问题,出现在获取文件引用之后(例如,文件或者目录当前由另一个应用锁住)。

PATH_EXISTS_ERR12路径相同的文件或者目录已存在。
QUOTA_EXCEEDED_ERR10

没有足够的剩余空间,或者存储器配额已达到,并且用户拒绝向数据库提供更多空间。

SECURITY_ERR2

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

  • 在 Web 应用中访问文件是不安全的。
  • 文件资源上有过多调用。
  • 其它未规定的安全错误代码或情况。
TYPE_MISMATCH_ERR11用户尝试检索文件或者目录,但是找到的条目类型错误。例如,应用正在访问 DirectoryEntry ,当用户请求 FileEntry 的时候。

浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support13webkit未实现未实现未实现未实现
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Basic support未实现0.16 webkit未实现未实现未实现未实现

另见

规范:文件 API:目录和系统规范WD

参考:文件系统 API

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:80 次

字数:6876

最后编辑:8 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文