Попробуй поймай пример в эрланге
Я следовал за документацией, но не понял try catch, может кто-нибудь объяснить на простом примере?
3 ответа
Идея try catch состоит в том, чтобы попробовать выражение и перехватить его, если что-то пойдет не так. Вы сначала попробуете выражение, и если все пойдет хорошо, вы получите нормальный результат. Но если вместо этого вы столкнетесь с ошибкой, вы можете поймать ее и обработать.
Например, получение заголовка пустого списка приведет к исключению «плохой аргумент». Вы можете, например, перехватить это и вернуть тип ошибки или перехватить все шаблоны и вернуть все, что захотите. Попробуйте это в оболочке Erlang!
1> try hd(["foo","bar"]) catch error:Error -> {error,Error} end.
"foo"
2> try hd([]) catch error:Error -> {error,Error} end.
{error,badarg}
3> try hd([]) catch _:_ -> "Can't take the head of an empty list" end.
"Can't take the head of an empty list"
Если вы хотите использовать однострочный пример в оболочке Erlang:
1> try exit(timeout) of _ -> not_caught catch exit:timeout -> ok end.
ok