OxL Справочник OxL
РусскийEnglish

6.6 Паника

  • Причины: переполнение, деление на ноль, выход за границы, x! на none, нарушение контракта, panic(msg), unreachable().
  • Паника завершает текущую задачу, не процесс. Выполняются defer и деструкторы. Родительский scope получает ошибку Panicked { msg, trace }, и остальные задачи scope отменяются (§8.5).
  • Паника в обработчике rpc возвращает клиенту ProtocolError.Internal и пишется в лог с трассой.
  • Необработанная паника корневой задачи main завершает процесс с кодом 101.
  • Профиль сборки МОЖЕТ задать panic = "abort" — тогда паника завершает процесс.

См. также

Исходник: docs/spec/oxl-standard.md