诊断
诊断是 runtime contract 的一部分。Vela 错误应携带足够结构化信息,供 CLI 输出、编辑器标记、热更新报告和宿主日志使用。
有用的诊断通常包含:
错误类型source spanmessagerelated locations候选名称repair hint涉及 runtime 执行时的 call stack脚本声明和许多 runtime error 都可以提供 source span。宿主生成的 schema 可能没有 source span。
反射和宿主 schema 错误应尽量包含 candidates。字段拼写错误可以指向注册 类型上的相近字段。
FieldNotFoundtype: Playerfield: levlecandidates: ["level"]Runtime 上下文
Section titled “Runtime 上下文”runtime 诊断应跨脚本调用、native call、host access 和 reflection 保留 call-stack 与 source 信息。热更新诊断应包含 candidate 无法应用时的版本和 update 上下文。
CLI 渲染
Section titled “CLI 渲染”vela_cli 会为脚本执行渲染 source error 和 VM error。它是结构化诊断的一
个消费者,而不是唯一表示形式。