Skip to content

错误码参考

自动生成自 src/util/diagnostic/codes/

YaoXiang 编译器使用统一的错误码系统,每个错误码包含:

  • 代码: 错误标识符 (如 E1001)
  • 类别: 错误所属阶段
  • 标题: 错误简短描述
  • 消息: 详细错误消息
  • 帮助: 可能的解决方案

错误码列表

前缀类别描述
E0xxxLexer/Parser词法和语法分析错误
E1xxxTypeCheck类型检查错误
E2xxxSemantic语义分析错误
E4xxxGeneric泛型与特质错误
E5xxxModule模块与导入错误
E6xxxRuntime运行时错误
E7xxxI/OI/O与系统错误
E8xxxInternal内部编译器错误

使用说明

CLI 命令

使用 yaoxiang explain 命令查看错误详情:

bash
# 查看错误详情
yaoxiang explain E1001

# JSON 格式输出
yaoxiang explain E1001 --json

在代码中

rust
use yaoxiang::util::diagnostic::{ErrorCodeDefinition, I18nRegistry};

// 查找错误码,并通过 I18nRegistry 获取标题与帮助信息
let i18n = I18nRegistry::default();

if let Some(code) = ErrorCodeDefinition::find("E1001") {
    let title = i18n.get_title(&code);
    println!("Title: {}", title);

    if let Some(help) = i18n.get_help(&code) {
        println!("Help: {}", help);
    }
}