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