Rubyでも,例外をやってみる
なんだか良くわかんない例外.ココはひとまず,Rubyでもやってみよう.
Rubyでも同じように,割り算で,0で割って例外を受け取るスクリプトで試してみる.
#! /opt/local/bin/ruby puts "---division---" puts "input number a and b" print "a:" a = gets.chomp.to_i print "b:" b = gets.chomp.to_i begin s = a / b # bが0のとき,ここで例外がスローされる予定 rescue puts "i think b is 0" else puts "#{a}/#{b}=#{s}" end
それでは実行.
ruby reigai.rb ---division--- input number a and b a:3 b:0 i think b is 0
おぉ,なんとか例外を受け取ったようです.さて,ここで,Rubyでもfloatでやってみます.正直,割り算なんてのは小数点以下を表示してナンボですからねぇ.
#! /opt/local/bin/ruby puts "---division---" puts "input number a and b" print "a:" a = gets.chomp.to_f print "b:" b = gets.chomp.to_f begin s = a / b # bが0のとき,ここで例外がスローされる予定 rescue puts "i think b is 0" else puts "#{a.to_i}/#{b.to_i}=#{s}" end
よし,実行.Javaの二の舞の予感...!!
$ ruby reigai_f.rb ---division--- input number a and b a:3 b:0 3/0=Infinity
ブルァァァアボォオォウ!!!!なんか良くわかんないです!まだまだ勉強しないとなぁ....