Skip to content

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

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

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

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

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

ПрефиксКатегорияОписание
E0xxxЛексер/ПарсерОшибки лексического и синтаксического анализа
E1xxxПроверка типовОшибки проверки типов
E2xxxСемантикаОшибки семантического анализа
E4xxxОбобщенияОшибки обобщений и типажей
E5xxxМодулиОшибки модулей и импорта
E6xxxRuntimeОшибки выполнения
E7xxxI/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);

    if let Some(help) = i18n.get_help(&code) {
        println!("Помощь: {}", help);
    }
}