跳转到内容

标准错误

错误条件是公共 API 的一部分:调用框架的程序用它们区分坏输入、缺失的挂载或不可用的后端,并在不留下半成品状态的前提下恢复。本附录列出每个条件、它的父条件以及触发它的情境;链接的条目给出各条件携带的数据、消息以及失败后保留的状态。除 ebox-input-cancelled 外,全部条件都派生自 error;ebox-input-cancelled 派生自 quit,因此普通错误处理器不会截获被放弃的输入会话。

条件 父条件 触发时机
etaf-view-error error View 不合法时的基础条件;下面的 View 与组件条件都是它的子类。
etaf-view-syntax-error etaf-view-error 结构形式不合法;在 etaf-view 展开期间、任何求值之前抛出。
etaf-component-definition-error etaf-view-error 组件定义非法,或组件 API 在其阶段之外被使用。
etaf-component-call-error etaf-view-error 组件调用或它的某个输入非法。
etaf-renderer-error error 规范化 View 无法显示,或需要已挂载的 Runtime 而不可得。
etaf-reactive-error error 响应式图拒绝了操作,例如在计算期间写入或响应式值非法。
etaf-render-side-effect-error etaf-reactive-error 渲染期间尝试了会改变响应式图的操作;数据给出操作名。
etaf-runtime-error error Runtime 操作无法完成:未挂载就使用、挂载选项畸形或保留更新失败。
etaf-observer-error error 观察者上下文状态以非法值构造或使用,例如不是函数的 sink。
etaf-context-error error Context 操作格式错误,或必需依赖缺失。
etaf-action-error error Action 无法定义、登记或派发。
etaf-behavior-error error Behavior 规格、来源、安装函数或受控几何输入非法。
etaf-event-error error 事件操作的上下文或目标非法。
etaf-async-error etaf-reactive-error 异步适配器或超时无效。
etaf-async-timeout etaf-async-error 异步等待超过其超时。
etaf-async-cancelled etaf-async-error 待决的异步工作被取消。
etaf-resource-error etaf-reactive-error Resource 操作无效。
etaf-data-error error Data 契约被违反:已有待决变更、批操作畸形、缺少能力或结果未提交。
etaf-data-stopped-error etaf-data-error 对已停止的 Data Controller 执行了操作。
etaf-animation-error error 动画操作无效。
条件 父条件 触发时机
ebox-error error 公共入口收到无法使用的输入:未知 tag、畸形作者形式、非法属性表或坏的节点拓扑。
ebox-size-error error 尺寸值超出其定义域。
ebox-style-schema-error error 样式 schema 畸形。
ebox-input-error ebox-error 输入会话操作无效。
ebox-input-cancelled quit 输入目标已不可用;父条件为 quit,因此普通 error 处理器不会捕获它。
条件 父条件 触发时机
ecss-error error ECSS 操作被拒绝时的基础条件;下面五个都是它的子类。
ecss-invalid-selector ecss-error 选择器语法或选择器 AST 非法。
ecss-invalid-subject-adapter ecss-error 主体适配器建不出来。
ecss-invalid-property-schema ecss-error 包或属性定义畸形,或组合无法形成。
ecss-invalid-declaration ecss-error 声明无法按写法使用。
ecss-invalid-rule ecss-error 规则、来源、层或来源组合非法。
条件 父条件 触发时机
ekp-hyphen-error error 断字失败的基条件;下面两个是它的子类。
ekp-hyphen-dictionary-not-found ekp-hyphen-error 找不到与请求语言匹配的字典。
ekp-hyphen-unsupported-pattern ekp-hyphen-error 字典使用了本实现不支持的替换模式。
ekp-backend-contract-error error 原生后端返回了畸形结果。
条件 父条件 触发时机
etaf-ui-svg-error error SVG 场景辅助收到的输入非法。
etaf-ui-markdown-error error markdown 操作被拒绝:解析时方言名未知,或渲染时缺少调色板、调色板键未知。
条件 父条件 触发时机
etaf-sqlite-error error SQLite 操作被拒绝时的基础条件;下面三个是它的子类。
etaf-sqlite-schema-error etaf-sqlite-error 描述符或已初始化的数据库与声明的 schema 不符。
etaf-sqlite-unavailable etaf-sqlite-error 这个 Emacs 构建没有 SQLite 支持。
etaf-sqlite-commit-unknown etaf-sqlite-error 变更的提交结果无法确定。