aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/fileexception
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/web/api/fileexception
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/zh-cn/web/api/fileexception')
-rw-r--r--files/zh-cn/web/api/fileexception/index.html182
1 files changed, 182 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/fileexception/index.html b/files/zh-cn/web/api/fileexception/index.html
new file mode 100644
index 0000000000..a888b6b6b3
--- /dev/null
+++ b/files/zh-cn/web/api/fileexception/index.html
@@ -0,0 +1,182 @@
+---
+title: FileException
+slug: Web/API/FileException
+translation_of: Web/API/FileException
+---
+<div>{{APIRef("File System API")}} {{Non-standard_header}}</div>
+
+<p>在 <a href="/en-US/docs/DOM/File_API/File_System_API">文件系统 API</a> 中, <code>FileException </code>表示错误条件,你可能在使用同步 API 访问文件系统时遇到。它扩展了 FileException 接口,在 <a href="http://dev.w3.org/2009/dap/file-system/pub/FileSystem/#bib-FILE-WRITER">File Writer</a> 中描述,并添加了几个新的错误代码。</p>
+
+<h2 id="基本概念">基本概念</h2>
+
+<p>同步 API 没有错误回调,这使其难以捕获错误。和这个 API 一起使用 <a href="/en-US/docs/DOM/Worker">WebWorkers</a> 的额外复杂性,使得调试更具有挑战性。为了使事情简化,将你的工作器代码包在 try/catch 里面。当错误发生时,使用 <code>postMessage()</code> 将它们转发给主应用,像这样:</p>
+
+<pre class="brush: js">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);
+} </pre>
+
+<p>示例代码取自 <a href="http://www.html5rocks.com/en/tutorials/file/filesystem-sync/">HTML5Rocks</a></p>
+
+<h2 id="属性">属性</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Attribute</th>
+ <th scope="col">Type</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><a name="attr_code"><code>code</code></a></td>
+ <td><code>unsigned short</code></td>
+ <td>用于该条件的最合适的错误代码。</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="常量">常量</h2>
+
+<p>{{Note("不要依赖于常量的数值,它可能随着规范改动而改动。使用常量名称来代替。")}}</p>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">常量</th>
+ <th scope="col">值</th>
+ <th scope="col">描述</th>
+ </tr>
+ <tr>
+ <td><code><a name="NON_TRANSIENT_ERR">ENCODING_ERR</a></code></td>
+ <td>5</td>
+ <td>URL 格式错误。确保 URL 是完整和有效的。</td>
+ </tr>
+ <tr>
+ <td><code><a name="NON_TRANSIENT_ERR">INVALID_MODIFICATION_ERR</a></code></td>
+ <td>9</td>
+ <td>请求的改动是不允许的。无效改动包括将目录移动到它的子目录中,或者将文件移动到它的父目录中,而没有修改它的名称。</td>
+ </tr>
+ <tr>
+ <td><code><a name="CONSTRAINT_ERR">INVALID_STATE_ERR</a></code></td>
+ <td>7</td>
+ <td>在接口对象的当前状态上,不能执行操作。例如,缓存在接口对象中的状态,自从上次从磁盘读取之后发生改变。</td>
+ </tr>
+ <tr>
+ <td><code><a name="VER_ERR">NO_MODIFICATION_ALLOWED_ERR</a></code></td>
+ <td>6</td>
+ <td>底层文件系统的状态阻止任何文件或者目录的写入。</td>
+ </tr>
+ <tr>
+ <td><code><a name="NOT_FOUND_ERR">NOT_FOUND_ERR</a></code></td>
+ <td>1</td>
+ <td>在操作执行时,所需文件或者目录无法找到。例如,打开了不存在的文件。</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code><a name="NON_TRANSIENT_ERR">NOT_READABLE_ERR</a></code></td>
+ <td>4</td>
+ <td>
+ <p>文件或者目录不能读取,通常由于权限问题,出现在获取文件引用之后(例如,文件或者目录当前由另一个应用锁住)。</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a name="TIMEOUT_ERR">PATH_EXISTS_ERR</a></code></td>
+ <td>12</td>
+ <td>路径相同的文件或者目录已存在。</td>
+ </tr>
+ <tr>
+ <td><code><a name="QUOTA_ERR">QUOTA_EXCEEDED_ERR</a></code></td>
+ <td>10</td>
+ <td>
+ <p>没有足够的剩余空间,或者存储器配额已达到,并且用户拒绝向数据库提供更多空间。</p>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a name="SECURITY_ERR">SECURITY_ERR</a></code></td>
+ <td>2</td>
+ <td>
+ <p>拒绝文件访问,由于下列原因之一:</p>
+
+ <ul>
+ <li>在 Web 应用中访问文件是不安全的。</li>
+ <li>文件资源上有过多调用。</li>
+ <li>其它未规定的安全错误代码或情况。</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td><code><a name="READ_ONLY_ERR">TYPE_MISMATCH_ERR</a></code></td>
+ <td>11</td>
+ <td>用户尝试检索文件或者目录,但是找到的条目类型错误。例如,应用正在访问 DirectoryEntry ,当用户请求 FileEntry 的时候。</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">浏览器兼容性</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari (WebKit)</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>13{{property_prefix("webkit")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Android</th>
+ <th>Chrome for Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Phone</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatNo}}</td>
+ <td>0.16 {{property_prefix("webkit")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="另见">另见</h2>
+
+<p>规范:{{spec("http://dev.w3.org/2009/dap/file-system/pub/FileSystem/", "文件 API:目录和系统规范", "WD")}}</p>
+
+<p>参考:<a href="/en-US/docs/DOM/File_API/File_System_API" title="DOM/File_API/File_System_API">文件系统 API</a></p>
+
+<p>简介:<a href="/en-US/docs/DOM/File_APIs/Filesystem/Basic_Concepts_About_the_Filesystem_API" title="DOM/File_APIs/Filesystem/Basic_Concepts_About_the_Filesystem_API">文件系统 API 的基本概念</a></p>