例外処理

rubyでは、例外を受け取る仕組みがあるっ!
な、なんだってー!

begin
    a()
    b()
    c()
rescue
    # error 処理
ensure
    # 後処理
  retry #やりなおし、無限ループの危険あり
end

例外オブジェクトは$!(最初)、$@(最後)に格納される。
rescue Errno:ENOENTのようにして、特定の例外をキャッチできる
例外クラス

raise メッセージ
raise 例外クラス
で例外をなげることができる。
catchとthrowもある。