山傘のプログラミング勉強日記

プログラミングに関する日記とどうでもよい雑記からなるブログです。

プロを目指す人のためのRuby入門 その16

第9章 例外処理を理解する

プログラミングとはエラーとの戦いである。(ヤマカサ)

はい。今回から例外処理について学んでいきます。Java では、try-catch 文を使って例外処理を記述しました。

begin-rescue

begin-rescue を用いて例外を補足します。

begin
  エラーが発生する可能性のある処理
rescue
  例外処理
end

また、このような例外処理の書き方は好ましくありません。rescue を使うことで本来プログラムが正常に実行できない状態で、処理を継続してしまうからです。

例外オブジェクト

例外自身もオブジェクトなので、そのオブジェクトのメソッドを呼び出します。

begin
  1 / 0
rescue => e
  puts "エラークラス: #{e.class}"
  puts "エラーメッセージ: #{e.message}"
  puts "バックトレース-----"
  puts e.backtrace
  puts "-----"
end

クラスを指定して補足する例外を限定する

begin
  1 / 0
rescue => ZeroDivisonError
  puts "0除算"
end