Когда «дать сбой» и когда защищать код в Erlang?

Таким образом, мантра Erlang с кодом «let it crash» должна быть устойчивой к таким жестоким мировым событиям, как неожиданное отключение, сбой оборудования и нестабильные сетевые подключения.

С другой стороны, естьоборонительное программирование.

Интересно, будучи новичком в Erlang, как узнать, когда я хочу, чтобы процесс просто аварийно завершился, и когда я хочу, чтобы он защищал поток с помощьюif, case..ofтипа охранников?

Скажем, у меня есть модуль аутентификации, который может вернутьtrue/false результат, если аутентификация прошла успешно или нет. Должен ли он иметь успешный сценарий и аварийно завершить работу, если аутентификация пользователя не удалась из-за неправильного логина / пароля?

А как насчет других сценариев, например, если продукт не найден в базе данных или результаты поиска пусты?

Полагаю, я не могу полностью игнорировать защитные конструкции, так как любые охранники по своей природе защищают «нормальный» поток приложения?

Есть ли эмпирическое правило, когда защищаться и когда терпеть крах?

Ответы на вопрос(2)

Ваш ответ на вопрос