概要
Rubyの例外について説明します。
サンプル
def divide_number(number,divide) begin # Javaのtryと同様 puts "input (#{number},#{divide})" number/divide rescue => exception # Javaのcatchと同様 puts exception.message puts "like Java's catch" raise 'my error' # Javaのthrowと同様 ensure # => Javaのfinallyと同様 puts "like Java's finally" end end puts "4/2=#{divide_number(4,2)}" puts "--------------------------------------------------" puts "4/a=#{divide_number(4,"a")}"
出力
input (4,2) like Java's finally 4/2=2 -------------------------------------------------- input (4,a) C:/exception/exception.rb:10:in `rescue in divide_number': my error (RuntimeError) from C:/exception/exception.rb:13:in `divide_number' from C:/exception/exception.rb:17:in `<main>' String can't be coerced into Fixnum like Java's catch like Java's finally