Фон
Оба метода try/rescue и try/catch - это методы обработки ошибок в Elixir. В соответствии с соответствующей главой в руководстве по вводу.
Ошибки могут быть спасены с помощью конструкции
try/rescue
С другой стороны,
throwиcatchзарезервированы для ситуаций, когда невозможно получить значение, если только с помощьюthrowиcatch.
Сомнения
Я кратко понимаю, что rescue для ошибок. Пока catch для любого значения.
Однако
- Когда я должен использовать механизмы обработки ошибок в Elixir?
- Каковы различия между ними в деталях?
- Как выбрать один для использования в конкретном случае использования?
- В чем именно "ситуации, когда невозможно получить значение, если только с помощью
throwиcatch'?