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
参考サイト