RxDBAdapterDesktopErrorCode
type RxDBAdapterDesktopErrorCode =
| "unsupported_runtime_engine"
| "invalid_database_name"
| "host_unavailable"
| "session_closed"
| "protocol_violation"
| "open_failed"
| "permission_denied"
| "database_corrupted"
| "statement_failed"
| "host_internal_error"
| "database_busy"
| "file_not_found"
| "invalid_file_path"
| "disk_full"
| "write_aborted"
| "transaction_not_found"
| "transaction_unavailable"
| "restore_in_progress"
| "restore_incomplete"
| "target_not_empty"
| "cleanup_pending"
| "unsupported_operation";
Defined in: packages/rxdb-adapter-sqlite-core/dist/desktop/desktop-error.d.ts:38
桌面适配器对外承诺的稳定错误码。
Remarks
这些码是契约的一部分:调用方按 code 分支处理,消息文本可能随版本调整。
新增码只能追加,不得复用或改写既有含义。
unsupported_runtime_engine:runtime 与 engine 的组合不在能力矩阵内invalid_database_name:逻辑数据库名非法,或试图越出应用作用域host_unavailable:renderer 侧拿不到桌面 host(未注入 transport / preload 未暴露), 或通道在请求途中失败(host 进程退出、IPC 断开),cause保留传输层原始错误session_closed:会话已断开后继续使用protocol_violation:请求或响应不符合协议形状open_failed:打开数据库失败,cause保留原始原因permission_denied:路径无权限,或语句被 SQLite 授权器拒绝(ATTACH/VACUUM INTO等越出应用作用域的操作)database_corrupted:目标文件不是可用的 SQLite 数据库statement_failed:SQL 本身执行失败(语法、约束等),cause保留原始错误host_internal_error:host 自身出错,属于缺陷而非调用方问题database_busy:另一个连接(通常是另一个窗口)正持有冲突的锁,重试即可,数据无损file_not_found:目标文件或目录不存在;renderer 侧据此还原成NotFoundErrorinvalid_file_path:路径逃出存储根,或指向的类型与操作不符disk_full:磁盘空间或配额耗尽(ENOSPC / EDQUOT)write_aborted:写入令牌已失效(会话关闭、已提交或已丢弃),目标保持写入前的内容transaction_not_found:事务 ID 不存在、已结束,或不属于本会话;语句一条都没有执行transaction_unavailable:等待开启事务超时——另一个事务正占着连接;库无损,重试即可restore_in_progress:目标正被同一 host 上的一次恢复独占,普通连接被拒绝;新的恢复与清理请求 与其他竞争访问一样报database_busy(US-217)restore_incomplete:目标留有未完成恢复的标记,须先清理再连接或重新恢复(US-217)target_not_empty:恢复目标已经含有数据库内容,恢复拒绝覆盖(US-217)cleanup_pending:恢复失败后的清理本身也失败,目标保持可判别的未完成状态(US-217)unsupported_operation:host 未启用该操作,例如宿主没有配置备份与恢复