Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
begin полезно расказать в полной мере:begin Ух! мы тут такого сейчас понаделаем ! rescue MySiimpleError => e ошибка вроде простая, сейчас мы её пофиксим и будем щастливы retry if пофиксилась rescue MyUrecoverbleError => e ууупс! puts "У нас серьезные неприятности " + e.message + "\n" + e.backtrace else итак, ошибок нет, и кое что еще осталось сделать ensure а вот кое-что нужно полюбому сделать (есть исключения или нет), например, закрыть все открытые соединения end
$ cat a.rb
def foo(x)
begin
return 1 / x
rescue
return 1 / (x + 1)
ensure
puts "Hi #{x}"
end
end
puts foo(1)
puts foo(0)
$ ruby a.rb
Hi 1
1
Hi 0
1
def f
...
rescue
...
endclass C
...
rescue
...
end
Покорим Ruby вместе! Капля одиннадцатая