5.18. Исключительные ситуации (try-catch)

Ссылка на оригинал статьи тут
Haxe позволяет обрабатывать исключительные ситуации  используя синтаксис try/catch.

Если во время работы   try-выражения выполняется  throw , то генерируется исключительная ситуация, которая  может быть обработана любым последующим catch блоком. Эти блоки  состоят из

  • имени переменной которая содержится во вброшенном значении,
  • подробной  аннотации типа которая определяет для каких типов значений генерировать исключительные ситуации,
  • выражение которое будет исполняться в этом случае

Haxe позволяет сгенерировать исключительную ситуацию (throw) и обработать (catch) любой тип значения. Он не ограничен типами, наследованными от класса exception или  класса error. Блоки catch проверяются сверху вниз, с первого чей тип поддерживается или чье вброшенное значение будет обработано.

Этот процесс имеет много общего с поведением унификации во время компиляции. ( ссылка).
Однако, поскольку проверка должна быть выполнена во время выполнения, существует несколько ограничений:

Тип Dynamic может обрабатывать любое исключение.

Пример моего кода

Try Haxe!