演習課題「呼び出し元へ例外を伝えよう」
右のコードは、100を引数で割り算するtest_exceptionメソッドを呼び出しています。
しかし、8行目のputsが実行されません。
このコードにensureを追加して、例外が発生してもしなくても、「処理が終了しました」と表示されるようにしましょう。
プログラムを実行して、想定どおり出力されれば演習課題クリアです!
期待する出力値
処理が終了しました
期待する標準エラー出力値
0で割り算できません
※paizaに会員登録すると無料で動画学習コンテンツをご利用いただけます
会員登録する
#08:ensureをもっと理解しよう
ここではensureを使用した際の処理の順序について、さらに理解を深めます。
def test_exception(number)
puts 2
begin
puts 3
answer = 100 / number
return answer
puts 4
rescue ZeroDivisionError => e
puts 5
raise e
ensure
puts 6
end
end
puts 1
begin
answer = test_exception(0)
puts 7
rescue ZeroDivisionError => e
puts 8
p e
end
Rubyの例外処理 | UX MILK
https://uxmilk.jp/20488
class Exception (Ruby 2.5.0)
https://docs.ruby-lang.org/ja/latest/class/Exception.html
ログインすると採点できます
コードの実行