FFORGE//RS
← Маршрут

rust / УРОВЕНЬ 3

Строка ошибки, по которой нельзя ветвиться

ОЦЕНКА35 МИН
01

ТЕОРИЯ / ВОСПРОИЗВЕДЕНИЕ

Что нужно восстановить

  • Отделять неверный синтаксис от выхода за границы домена
  • Реализовать Display и Error, сохранив машинно-читаемые варианты

Ошибки служат вызывающему коду и операторам

Типизированный enum позволяет вызывающему коду обрабатывать ожидаемые категории без разбора человеческого текста. `Display` остаётся описанием для оператора, а `std::error::Error` поддерживает обобщённые границы и необязательную цепочку источников.

Не стирайте контекст слишком рано

Преобразование каждой ошибки в `String` или `Box<dyn Error>` на нижнем уровне уничтожает исчерпывающий анализ и стабильное ветвление. Стирание полезно на границах приложения — после того, как доменный код сохранил принадлежащие ему различия.

КОНТРОЛЬНАЯ ТОЧКА

Почему после реализации trait значение `PortError` можно передать как `&dyn std::error::Error`?

ISOLATED RUST 1.96
src/lib.rsРЕДАКТИРОВАНИЕ

02 / РЕАЛИЗАЦИЯ

Реализуйте контракт

Реализуйте типизированный parser порта и его стабильные сообщения Display. Пустой ввод, неверный десятичный синтаксис и значения вне диапазона 1..=65535 должны оставаться разными вариантами.

Инициализация редактора…
ОБЛАЧНЫЙ SANDBOXсеть выключена · 256 МБ · 12 с
1 / 64 KB
ВЫВОД
Runner ждёт отправки кода.