Ruby 例外処理 忘備録

なぜ例外処理が必要か?

例えば、下記プログラムでは、ユーザーが0を入力すると0で割るので、エラーになる。
その時でもプログラムが、終了せずに、動き続ける。
本格的なプログラムでは、例外処理はとても大切。

例外処理基本形

begin 〜 endで囲む

begin
 例外処理
end

で囲む

resucueに例外が発生したときの処理を記載

resucure => ex でexに例外を代入してくれる

raise ~ でしたい処理をかく

ensure は例外があろうがなかろうが実行

//ユーザーの入力値をxへ代入
x = gets.to_i

//ここから例外処理
begin

  p 500 / x

//exというオブジェクト例外を代入
rescue => ex

//ここに処理を書いていく 特にメッセージしか表示していないけど
  p ex.message
 
  puts "stopped!"

//ここは例外があろうがなかろうが実行される。
ensure
  puts "-- END --"
end

参考サイト

https://dotinstall.com/lessons/basic_ruby_v3/37126