Ruby 4-5

こんにちは!

雨が降ったりやんだり。

例外処理

今回は例外処理の内容に取り組みます。
あらかじめ発生するかもしれないエラーを想定し、実行を継続できるような記述を行います。

rescue_basic.rb
Image from Gyazo

Image from Gyazo

beginのブロックに例外が発生するかもしれないコードを記述します。
rescueのブロックに例外発生時の処理を記述します。
今回はMath::DomainErrorという処理を記述しました。

rescue_after.rb
Image from Gyazo

Image from Gyazo

rescueも後述することが可能です。

rescue_else.rb
Image from Gyazo

Image from Gyazo

else節は例外なしでbegin節が終了した場合に実行されます。
今回はloopも用いて、正しい入力がなされるまで処理を繰り返しています。

rescue_retry.rb
Image from Gyazo

Image from Gyazo

retry命令で同様の処理を行うことが可能です。

rescue_return.rb
Image from Gyazo

Image from Gyazo

rescue_return2.rb
Image from Gyazo

Image from Gyazo

Rubyの制御構文はすべて式のため、値を返します。
例外処理による返り値の違いを確認いたしました。

基本的な内容はここまでです。
詳細はまた後日、とのことです。

ではでは。