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

ブルァァァアボォオォウ!!!!なんか良くわかんないです!まだまだ勉強しないとなぁ....