Должен ли я соответствовать шаблону каждого возвращаемого значения? - PullRequest
5 голосов
/ 24 декабря 2009

Когда я программирую на Erlang, должен ли я проверять все возвращаемые значения из вызовов функций на успех через сопоставление с образцом, даже если я не собираюсь использовать возвращаемое значение? Большинство API Erlang, которые я видел до сих пор, не генерируют исключения при ошибке (но возвращают что-то вроде {error, Error}), поэтому мне нужно проверить возвращаемое значение yes? Есть какие-то исключения, когда мне не нужно об этом беспокоиться?

1 Ответ

11 голосов
/ 24 декабря 2009

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

Если вы не собираетесь обрабатывать значение ошибки и что-то с ним делать, вы пишете свой код для успешного случая. Как в следующем маленьком грустном цикле:

life() ->
  ok = work(),
  ok = rest(),
  life().
...