А также технический материал (это 'легко' выяснить:)) узнают о бизнес-правилах! Они редко документируются правильно (по моему опыту), и Вы обычно только узнаете твердый путь, когда что-то идет не так, как надо.
begin
raise ArgumentError, "I'm a description"
rescue Exception => ex
puts "An error of type #{ex.class} happened, message is #{ex.message}"
end
Выводит: Произошла ошибка типа ArgumentError, сообщение "Я описание"