diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/web/api/fileexception | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-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.html | 182 |
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> |