Elm:
Обработка ошибок
Как:
Ключевая философия Elm - это отсутствие исключений во время выполнения. Поэтому Elm использует свою систему типов с типами, такими как Maybe и Result, для обработки ошибок.
Для сценария Maybe:
safeDivide : Float -> Float -> Maybe Float
safeDivide числитель знаменатель =
if знаменатель == 0 then
Nothing
else
Just (числитель / знаменатель)
-- При запуске:
safeDivide 10 2
--> Just 5
safeDivide 10 0
--> NothingДля сценария Result:
type Error = DivisionByZero
safeDivide : Float -> Float -> Result Error Float
safeDivide числитель знаменатель =
if знаменатель == 0 then
Err DivisionByZero
else
Ok (числитель / знаменатель)
-- Используя это:
safeDivide 10 2
--> Ok 5
safeDivide 10 0
--> Err DivisionByZeroПогружение
Система типов Elm строга, что помогает обнаруживать ошибки на ранней стадии. Исторически большинство языков полагались на исключения и проверки во время выполнения, но Elm выбрал гарантии на этапе компиляции. Альтернативы вроде Result позволяют передавать подробную информацию об ошибках, тогда как Maybe проще для сценариев да-нет. Обработка ошибок в Elm побуждает разработчиков заранее учитывать все возможные пути, избегая ловушек забытых случаев ошибок.
Смотрите также:
- Официальный раздел руководства Elm по обработке ошибок: Обработка ошибок – Введение
- Документация Elm
Maybe: Elm – Maybe - Документация Elm
Result: Elm – Result