blob: 392db3f3176fb7a07d9fc733ad21a2ff7c9ccde9 [file] [log] [blame]
import{_ as t,o as e,c as l,e as d}from"./app-Bp5kEZWW.js";const i={},a=d(`<h2 id="状态码" tabindex="-1"><a class="header-anchor" href="#状态码"><span>状态码</span></a></h2><p>从 0.10 版本开始 IoTDB 引入了<strong>状态码</strong>这一概念。例如,因为 IoTDB 需要在写入数据之前首先注册时间序列,一种可能的解决方案是:</p><div class="language-text line-numbers-mode" data-ext="text" data-title="text"><pre class="language-text"><code>try {
writeData();
} catch (SQLException e) {
// the most case is that the time series does not exist
if (e.getMessage().contains(&quot;exist&quot;)) {
//However, using the content of the error message is not so efficient
registerTimeSeries();
//write data once again
writeData();
}
}
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>利用状态码,我们就可以不必写诸如<code>if (e.getErrorMessage().contains(&quot;exist&quot;))</code>的代码,只需要使用<code>e.getStatusType().getCode() == TSStatusCode.TIME_SERIES_NOT_EXIST_ERROR.getStatusCode()</code>。</p><p>这里是状态码和相对应信息的列表:</p><table><thead><tr><th style="text-align:left;">状态码</th><th style="text-align:left;">状态类型</th><th style="text-align:left;">状态信息</th></tr></thead><tbody><tr><td style="text-align:left;">200</td><td style="text-align:left;">SUCCESS_STATUS</td><td style="text-align:left;">成功状态</td></tr><tr><td style="text-align:left;">201</td><td style="text-align:left;">STILL_EXECUTING_STATUS</td><td style="text-align:left;">仍在执行状态</td></tr><tr><td style="text-align:left;">202</td><td style="text-align:left;">INVALID_HANDLE_STATUS</td><td style="text-align:left;">无效句柄状态</td></tr><tr><td style="text-align:left;">203</td><td style="text-align:left;">INCOMPATIBLE_VERSION</td><td style="text-align:left;">版本不兼容</td></tr><tr><td style="text-align:left;">298</td><td style="text-align:left;">NODE_DELETE_FAILED_ERROR</td><td style="text-align:left;">删除节点失败</td></tr><tr><td style="text-align:left;">299</td><td style="text-align:left;">ALIAS_ALREADY_EXIST_ERROR</td><td style="text-align:left;">路径别名已经存在</td></tr><tr><td style="text-align:left;">300</td><td style="text-align:left;">PATH_ALREADY_EXIST_ERROR</td><td style="text-align:left;">路径已经存在</td></tr><tr><td style="text-align:left;">301</td><td style="text-align:left;">PATH_NOT_EXIST_ERROR</td><td style="text-align:left;">路径不存在</td></tr><tr><td style="text-align:left;">302</td><td style="text-align:left;">UNSUPPORTED_FETCH_METADATA_OPERATION_ERROR</td><td style="text-align:left;">不支持的获取元数据操作</td></tr><tr><td style="text-align:left;">303</td><td style="text-align:left;">METADATA_ERROR</td><td style="text-align:left;">处理元数据错误</td></tr><tr><td style="text-align:left;">305</td><td style="text-align:left;">OUT_OF_TTL_ERROR</td><td style="text-align:left;">插入时间少于 TTL 时间边界</td></tr><tr><td style="text-align:left;">306</td><td style="text-align:left;">CONFIG_ADJUSTER</td><td style="text-align:left;">IoTDB 系统负载过大</td></tr><tr><td style="text-align:left;">307</td><td style="text-align:left;">MERGE_ERROR</td><td style="text-align:left;">合并错误</td></tr><tr><td style="text-align:left;">308</td><td style="text-align:left;">SYSTEM_CHECK_ERROR</td><td style="text-align:left;">系统检查错误</td></tr><tr><td style="text-align:left;">309</td><td style="text-align:left;">SYNC_DEVICE_OWNER_CONFLICT_ERROR</td><td style="text-align:left;">回传设备冲突错误</td></tr><tr><td style="text-align:left;">310</td><td style="text-align:left;">SYNC_CONNECTION_EXCEPTION</td><td style="text-align:left;">回传连接错误</td></tr><tr><td style="text-align:left;">311</td><td style="text-align:left;">STORAGE_GROUP_PROCESSOR_ERROR</td><td style="text-align:left;">存储组处理器相关错误</td></tr><tr><td style="text-align:left;">312</td><td style="text-align:left;">STORAGE_GROUP_ERROR</td><td style="text-align:left;">存储组相关错误</td></tr><tr><td style="text-align:left;">313</td><td style="text-align:left;">STORAGE_ENGINE_ERROR</td><td style="text-align:left;">存储引擎相关错误</td></tr><tr><td style="text-align:left;">314</td><td style="text-align:left;">TSFILE_PROCESSOR_ERROR</td><td style="text-align:left;">TsFile 处理器相关错误</td></tr><tr><td style="text-align:left;">315</td><td style="text-align:left;">PATH_ILLEGAL</td><td style="text-align:left;">路径不合法</td></tr><tr><td style="text-align:left;">316</td><td style="text-align:left;">LOAD_FILE_ERROR</td><td style="text-align:left;">加载文件错误</td></tr><tr><td style="text-align:left;">317</td><td style="text-align:left;">STORAGE_GROUP_NOT_READY</td><td style="text-align:left;">存储组还在恢复中,还不能接受读写操作</td></tr><tr><td style="text-align:left;">400</td><td style="text-align:left;">EXECUTE_STATEMENT_ERROR</td><td style="text-align:left;">执行语句错误</td></tr><tr><td style="text-align:left;">401</td><td style="text-align:left;">SQL_PARSE_ERROR</td><td style="text-align:left;">SQL 语句分析错误</td></tr><tr><td style="text-align:left;">402</td><td style="text-align:left;">GENERATE_TIME_ZONE_ERROR</td><td style="text-align:left;">生成时区错误</td></tr><tr><td style="text-align:left;">403</td><td style="text-align:left;">SET_TIME_ZONE_ERROR</td><td style="text-align:left;">设置时区错误</td></tr><tr><td style="text-align:left;">404</td><td style="text-align:left;">NOT_STORAGE_GROUP_ERROR</td><td style="text-align:left;">操作对象不是存储组</td></tr><tr><td style="text-align:left;">405</td><td style="text-align:left;">QUERY_NOT_ALLOWED</td><td style="text-align:left;">查询语句不允许</td></tr><tr><td style="text-align:left;">406</td><td style="text-align:left;">AST_FORMAT_ERROR</td><td style="text-align:left;">AST 格式相关错误</td></tr><tr><td style="text-align:left;">407</td><td style="text-align:left;">LOGICAL_OPERATOR_ERROR</td><td style="text-align:left;">逻辑符相关错误</td></tr><tr><td style="text-align:left;">408</td><td style="text-align:left;">LOGICAL_OPTIMIZE_ERROR</td><td style="text-align:left;">逻辑优化相关错误</td></tr><tr><td style="text-align:left;">409</td><td style="text-align:left;">UNSUPPORTED_FILL_TYPE_ERROR</td><td style="text-align:left;">不支持的填充类型</td></tr><tr><td style="text-align:left;">410</td><td style="text-align:left;">PATH_ERROR</td><td style="text-align:left;">路径相关错误</td></tr><tr><td style="text-align:left;">411</td><td style="text-align:left;">QUERY_PROCESS_ERROR</td><td style="text-align:left;">查询处理相关错误</td></tr><tr><td style="text-align:left;">412</td><td style="text-align:left;">WRITE_PROCESS_ERROR</td><td style="text-align:left;">写入相关错误</td></tr><tr><td style="text-align:left;">413</td><td style="text-align:left;">WRITE_PROCESS_REJECT</td><td style="text-align:left;">写入拒绝错误</td></tr><tr><td style="text-align:left;">414</td><td style="text-align:left;">QUERY_ID_NOT_EXIST</td><td style="text-align:left;">Query id 不存在</td></tr><tr><td style="text-align:left;">500</td><td style="text-align:left;">INTERNAL_SERVER_ERROR</td><td style="text-align:left;">服务器内部错误</td></tr><tr><td style="text-align:left;">501</td><td style="text-align:left;">CLOSE_OPERATION_ERROR</td><td style="text-align:left;">关闭操作错误</td></tr><tr><td style="text-align:left;">502</td><td style="text-align:left;">READ_ONLY_SYSTEM_ERROR</td><td style="text-align:left;">系统只读</td></tr><tr><td style="text-align:left;">503</td><td style="text-align:left;">DISK_SPACE_INSUFFICIENT_ERROR</td><td style="text-align:left;">磁盘空间不足</td></tr><tr><td style="text-align:left;">504</td><td style="text-align:left;">START_UP_ERROR</td><td style="text-align:left;">启动错误</td></tr><tr><td style="text-align:left;">505</td><td style="text-align:left;">SHUT_DOWN_ERROR</td><td style="text-align:left;">关机错误</td></tr><tr><td style="text-align:left;">506</td><td style="text-align:left;">MULTIPLE_ERROR</td><td style="text-align:left;">多行语句执行错误</td></tr><tr><td style="text-align:left;">600</td><td style="text-align:left;">WRONG_LOGIN_PASSWORD_ERROR</td><td style="text-align:left;">用户名或密码错误</td></tr><tr><td style="text-align:left;">601</td><td style="text-align:left;">NOT_LOGIN_ERROR</td><td style="text-align:left;">没有登录</td></tr><tr><td style="text-align:left;">602</td><td style="text-align:left;">NO_PERMISSION_ERROR</td><td style="text-align:left;">没有操作权限</td></tr><tr><td style="text-align:left;">603</td><td style="text-align:left;">UNINITIALIZED_AUTH_ERROR</td><td style="text-align:left;">授权人未初始化</td></tr><tr><td style="text-align:left;">700</td><td style="text-align:left;">PARTITION_NOT_READY</td><td style="text-align:left;">分区表未准备好</td></tr><tr><td style="text-align:left;">701</td><td style="text-align:left;">TIME_OUT</td><td style="text-align:left;">操作超时</td></tr><tr><td style="text-align:left;">702</td><td style="text-align:left;">NO_LEADER</td><td style="text-align:left;">Leader 找不到</td></tr><tr><td style="text-align:left;">703</td><td style="text-align:left;">UNSUPPORTED_OPERATION</td><td style="text-align:left;">不支持的操作</td></tr><tr><td style="text-align:left;">704</td><td style="text-align:left;">NODE_READ_ONLY</td><td style="text-align:left;">节点只读</td></tr><tr><td style="text-align:left;">705</td><td style="text-align:left;">CONSISTENCY_FAILURE</td><td style="text-align:left;">一致性检查失败</td></tr><tr><td style="text-align:left;">706</td><td style="text-align:left;">NO_CONNECTION</td><td style="text-align:left;">连接获取失败</td></tr><tr><td style="text-align:left;">707</td><td style="text-align:left;">NEED_REDIRECTION</td><td style="text-align:left;">需要重定向</td></tr><tr><td style="text-align:left;">800</td><td style="text-align:left;">CONFIG_ERROR</td><td style="text-align:left;">配置文件有错误项</td></tr></tbody></table><blockquote><p>在最新版本中,我们重构了 IoTDB 的异常类。通过将错误信息统一提取到异常类中,并为所有异常添加不同的错误代码,从而当捕获到异常并引发更高级别的异常时,错误代码将保留并传递,以便用户了解详细的错误原因。<br> 除此之外,我们添加了一个基础异常类“ProcessException”,由所有异常扩展。</p></blockquote>`,7),s=[a];function n(r,g){return e(),l("div",null,s)}const f=t(i,[["render",n],["__file","Status-Codes.html.vue"]]),y=JSON.parse('{"path":"/zh/UserGuide/V0.13.x/API/Status-Codes.html","title":"","lang":"zh-CN","frontmatter":{"description":"状态码 0.10 版本开始 IoTDB 引入了状态码这一概念。例如,因为 IoTDB 需要在写入数据之前首先注册时间序列,一种可能的解决方案是: 利用状态码,我们就可以不必写诸如if (e.getErrorMessage().contains(\\"exist\\"))的代码,只需要使用e.getStatusType().getCode() == TSSt...","head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://iotdb.apache.org/UserGuide/V0.13.x/API/Status-Codes.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/zh/UserGuide/V0.13.x/API/Status-Codes.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:description","content":"状态码 从 0.10 版本开始 IoTDB 引入了状态码这一概念。例如,因为 IoTDB 需要在写入数据之前首先注册时间序列,一种可能的解决方案是: 利用状态码,我们就可以不必写诸如if (e.getErrorMessage().contains(\\"exist\\"))的代码,只需要使用e.getStatusType().getCode() == TSSt..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2023-07-10T03:11:17.000Z"}],["meta",{"property":"article:modified_time","content":"2023-07-10T03:11:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-07-10T03:11:17.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"状态码","slug":"状态码","link":"#状态码","children":[]}],"git":{"createdTime":1688958677000,"updatedTime":1688958677000,"contributors":[{"name":"CritasWang","email":"critas@outlook.com","commits":1}]},"readingTime":{"minutes":2.91,"words":874},"filePathRelative":"zh/UserGuide/V0.13.x/API/Status-Codes.md","localizedDate":"2023年7月10日","autoDesc":true}');export{f as comp,y as data};