Skip to content

Справочник по кодам ошибок ​

Автоматически сгенерировано из src/util/diagnostic/codes/

Компилятор YaoXiang использует единую систему кодов ошибок, каждый код ошибки содержит:

  • Код: идентификатор ошибки (например, E1001)
  • Категория: этап, к которому относится ошибка
  • Заголовок: краткое описание ошибки
  • Сообщение: подробное сообщение об ошибке
  • Справка: возможные решения

Список кодов ошибок ​

ПрефиксКатегорияОписание
E0xxxLexer/ParserОшибки лексического и синтаксического анализа
E1xxxTypeCheckОшибки проверки типов
E2xxxSemanticОшибки семантического анализа
E4xxxGenericОшибки generics и trait
E5xxxModuleОшибки модулей и импорта
E6xxxRuntimeОшибки времени выполнения
E7xxxI/OОшибки ввода-вывода и системные ошибки
E8xxxInternalВнутренние ошибки компилятора

Инструкции по использованию ​

Команда CLI ​

Используйте команду yx explain для просмотра подробностей об ошибке:

bash
# Просмотр подробностей об ошибке
yx explain E1001

# Вывод в формате JSON
yx 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);
    }
}