Справочник кодов ошибок
Автоматически сгенерировано из
src/util/diagnostic/codes/
Компилятор YaoXiang использует унифицированную систему кодов ошибок. Каждый код ошибки содержит:
- Код: идентификатор ошибки (например,
E1001) - Категория: этап, к которому относится ошибка
- Заголовок: краткое описание ошибки
- Сообщение: подробное сообщение об ошибке
- Помощь: возможные решения
Список кодов ошибок
| Префикс | Категория | Описание |
|---|---|---|
| E0xxx | Лексер/Парсер | Ошибки лексического и синтаксического анализа |
| E1xxx | Проверка типов | Ошибки проверки типов |
| E2xxx | Семантика | Ошибки семантического анализа |
| E4xxx | Обобщения | Ошибки обобщений и типажей |
| E5xxx | Модули | Ошибки модулей и импорта |
| E6xxx | Runtime | Ошибки выполнения |
| E7xxx | I/O | Ошибки ввода/вывода и системы |
| E8xxx | Internal | Внутренние ошибки компилятора |
Инструкция по использованию
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);
}
}