Как правильно записать код обработку исключения в Elixir

Я не давно начал изучать Elixir, и меня интересует, как правильно записать код в Elixir обработку исключений try/catch Пока попытался создать такой пример.

z=90
x=0
if x==0||z==0  do
  raise IO.puts "Div Zero" 
else 
  t=x/z
  IO.puts t
end

Вот получил такой ответ

Erlang/OTP 20.0
 run-project
Div Zero
** (UndefinedFunctionError) function :ok.exception/1 is undefined (module :ok is not available)
    :ok.exception([])
    main.exs:4: (file)
    (elixir) lib/code.ex:363: Code.require_file/2

exit status 1

Меня интересует, а как сделать, что выводилось при исключении только "Div Zero"


Ответы (1 шт):

Автор решения: Alexandr Sysoev

Возможно, Вам нужна конструкция try/rescue. Советую почитать документацию по обработке ошибок в Elixir здесь или здесь (на русском)

z = 90
x = 0

try do
  if x == 0 || z == 0 do
    raise "Some error" 
  else 
    t = x / z
    IO.puts t
  end
rescue
  _ -> IO.puts "Div zero"
end
→ Ссылка