Problem 代码
Linlang 的 Problem 使用稳定代码标识故障。代码可以通过 /linlang problem <代码> 查询;本文作为按组件整理的速查表。
审计服务
| 代码 | | 含义 |
|---|
| LIN-AUDIT-RUNTIME-CONFIG-LOAD-FAIL | | 运行时审计配置无法加载,已使用默认配置。 |
| LIN-AUDIT-TENANT-CONFIG-LOAD-FAIL | | 插件审计租户配置无法加载。 |
| LIN-AUDIT-OUTPUT-PATH-INVALID | | 输出路径无效或离开插件数据目录。 |
| LIN-AUDIT-FILE-WRITE-FAIL | | 日志、审计或问题文件写入失败。 |
| LIN-AUDIT-WRITER-QUEUE-FULL | | 异步写入队列已满,当前记录降级为同步写入。 |
| LIN-AUDIT-WRITER-FLUSH-FAIL | | 文件写入队列未能按时刷新。 |
| LIN-AUDIT-JSON-SERIALIZE-FAIL | | 结构化记录无法序列化为 JSON。 |
运行时
| 代码 | | 含义 |
|---|
| LIN-RUNTIME-ENABLE-FAIL | | Bukkit Runtime 启动失败。 |
| LIN-RUNTIME-MESSAGE-TEMPLATE-INSTALL-FAIL | | 运行时内建语言目录无法安装。 |
| LIN-RUNTIME-CONFIG-RELOAD-FAIL | | 运行时配置服务重载失败。 |
| LIN-RUNTIME-LANGUAGE-RELOAD-FAIL | | 运行时语言服务重载失败。 |
| LIN-RUNTIME-FACADE-RELOAD-FAIL | | 插件 Facade 软重载失败。 |
| LIN-RUNTIME-FACADE-RESTART-FAIL | | 插件 Facade 重建失败。 |
| LIN-RUNTIME-RELOAD-FAIL | | 一个或多个重载步骤失败。 |
| LIN-RUNTIME-FACADE-CLOSE-FAIL | | 插件 Facade 关闭失败。 |
| LIN-RUNTIME-RESOURCE-CLOSE-FAIL | | 运行时资源释放失败。 |
| LIN-RUNTIME-VERSION-INCOMPATIBLE | | API 与 Runtime 的 A.B 版本不兼容或 Runtime 功能版本过低。 |
| LIN-RUNTIME-VERSION-MISMATCH | | Runtime 功能版本高于插件编译时版本。 |
| LIN-RUNTIME-VERSION-INVALID | | 版本号不是有效的四段格式。 |
命令服务
| 代码 | | 含义 |
|---|
| LIN-COMMAND-INFO-FAIL | | 命令服务无法读取插件信息。 |
| LIN-COMMAND-MESSAGE-LOAD-FAIL | | 命令内建消息无法加载。 |
| LIN-COMMAND-BUKKIT-BIND-FAIL | | 根节点无法绑定到 Bukkit 命令。 |
| LIN-COMMAND-REGISTRATION-FAIL | | 命令描述语句或注册结构无效。 |
| LIN-COMMAND-EXECUTE-FAIL | | 已匹配命令的业务执行器抛出异常。 |
| LIN-COMMAND-ARGUMENT-PARSE-FAIL | | 参数解析器发生非预期异常。 |
| LIN-COMMAND-LOCALE-REFRESH-FAIL | | 命令用法或参数说明无法刷新到新语言。 |
| LIN-COMMAND-GROUP-CALLBACK-FAIL | | 命令组公共结果回调执行失败。 |
| LIN-COMMAND-GROUP-CONFIG-FAIL | | 命令组开始注册后又修改了公共配置。 |
玩家输入缺少参数、值不符合范围或对象不存在属于正常的参数拒绝,不会生成 Problem。
文件服务
| 代码 | | 含义 |
|---|
| LIN-FILE-CONFIG-LOAD-FAIL | | 配置加载或类型校验失败。 |
| LIN-FILE-CONFIG-SAVE-FAIL | | 配置对象无法写入文件。 |
| LIN-FILE-CONFIG-RELOAD-FAIL | | 配置文件无法重载到现有对象。 |
| LIN-FILE-CONFIG-BIND-FAIL | | 配置类无法完成首次绑定。 |
| LIN-FILE-LANGUAGE-LOCALE-SWITCH-FAIL | | 语言对象无法切换到目标语言。 |
| LIN-FILE-LANGUAGE-BIND-FAIL | | 语言类无法完成首次绑定。 |
| LIN-FILE-LANGUAGE-SAVE-FAIL | | 语言对象无法写入语言文件。 |
| LIN-FILE-LANGUAGE-RELOAD-FAIL | | 语言文件无法重载到现有对象。 |
| LIN-FILE-LANGUAGE-ENSURE-FAIL | | 语言文件完整性检查或补齐失败。 |
| LIN-FILE-LANGUAGE-LAZY-LOAD-FAIL | | 引用型语言字段无法按需加载目标语言。 |
| LIN-FILE-LANGUAGE-LISTENER-FAIL | | 语言变更监听器执行失败。 |
| LIN-FILE-LANGUAGE-REFERENCE-FAIL | | 配置语言引用不存在或类型不匹配。 |
| LIN-FILE-LANGUAGE-FORMAT-FAIL | | 语言文本无法使用给定参数完成格式化。 |
| LIN-FILE-LANGUAGE-RESOURCE-LOAD-FAIL | | 内建语言资源无法读取或解析。 |
| LIN-FILE-LANGUAGE-LOCALE-SCAN-FAIL | | 语言目录无法扫描可用文件。 |
| LIN-FILE-LANGUAGE-LOCALE-NORMALIZE-FAIL | | 语言文件名无法规范为语言代码。 |
| LIN-FILE-LANGUAGE-RESOURCE-COPY-FAIL | | 内建语言资源无法复制到数据目录。 |
| LIN-FILE-DIFF-WRITE-FAIL | | 缺失字段差异文件无法生成。 |
| LIN-FILE-MISSING-KEY-REPAIR-FAIL | | 获准执行的缺失键修复未能完成。 |
| LIN-FILE-OBJECT-MAPPING-FAIL | | 文件文档与 Java 对象的字段映射失败。 |
| LIN-FILE-WATCH-CALLBACK-FAIL | | 文件热重载回调执行失败。 |
| LIN-FILE-WATCH-START-FAIL | | 文件监听无法启动。 |
| LIN-FILE-WATCH-LOOP-FAIL | | 文件监听循环发生故障。 |
数据库服务
| 代码 | | 含义 |
|---|
| LIN-DATA-MAPPING-INVALID | | 实体声明无法映射为有效表结构。 |
| LIN-DATA-INITIALIZE-FAIL | | 数据库目录或连接池无法初始化。 |
| LIN-DATA-MIGRATE-FAIL | | 数据表结构创建或迁移失败。 |
| LIN-DATA-OPERATION-FAIL | | 仓库操作执行失败。 |
| LIN-DATA-FLUSH-FAIL | | 待处理数据无法刷新。 |
| LIN-DATA-RESOURCE-CLOSE-FAIL | | 仓库或连接池无法正常关闭。 |
其他组件
| 代码 | | 含义 |
|---|
| LIN-BANNER-FONT-LOAD-FAIL | | ASCII Banner 字体资源无法解析。 |
| LIN-EVENT-LISTENER-FAIL | | 事件监听器执行失败。 |
| LIN-TEXT-SOURCE-TOO-LONG | | 高级字符串源码超过长度限制。 |
| LIN-YAML-INIT-FAIL | | SnakeYAML 无法加载或初始化。 |
| LIN-MESSAGE-PREFIX-RESOLVE-FAIL | | 消息前缀提供函数执行失败。 |
| LIN-MESSAGE-DELIVERY-FAIL | | 消息传输器无法完成投递。 |
| LIN-PLATFORM-MAIN-DISPATCH-FAIL | | 任务无法提交到 Bukkit 主线程。 |
| LIN-PLATFORM-ASYNC-DISPATCH-FAIL | | 任务无法提交到 Bukkit 异步调度器。 |
| LIN-VIEW-INITIALIZE-FAIL | | 界面服务或平台事件桥初始化失败。 |
| LIN-VIEW-DEFINITION-LOAD-FAIL | | GUI 定义无法读取、解析或编译。 |
| LIN-VIEW-SOURCE-LOAD-FAIL | | GUI 动态数据源执行失败。 |
| LIN-VIEW-HOOK-EXECUTE-FAIL | | GUI 交互回调执行失败。 |
| LIN-VIEW-REOPEN-FAIL | | 禁止手动关闭的 GUI 无法重新打开。 |
| LIN-VIEW-ICON-RESOLVE-FAIL | | GUI 图标无法由平台解析器建立。 |
| LIN-VIEW-LANGUAGE-REFRESH-FAIL | | 语言变化后 GUI 无法完成重绘。 |
问题代码负责标识和查询,不代替 Java 异常。两者的使用边界请见:错误处理 ⇱。
讨论