以下の内容はhttps://this.aereal.org/entry/2011/12/29/093925より取得しました。


Padrinoでエラーハンドリング

Padrino (Sinatra) はerrorメソッドを使ってエラーハンドリングができる。
errorメソッドはステータスコード (Integer) か例外クラスを渡す。

class MyApp < Padrino::Application
  # ...

  error 404 do
    "404 Not Found"
  end

  error ActiveRecord::RecordNotFound do
    halt 404
  end
end

ちなみにPadrinoはエラー処理がもうちょっと柔軟にできて、コントローラのスコープごとにエラー処理を定義できる。
スコープというのはPadrino.controllerに渡す名前のこと。

MyApp.controller :posts do
  error 404 do
    "Post is not found"
  end
end

MyApp.controller :authors do
  error 404 do
    "Author is not found"
  end
end

しかし、開発環境 (Padrino.env == :development) だとSinatra由来のリッチなスタックトレースを吐くようになっていて、このスタックトレースを見るオプション (show_exception) が有効だと、例外クラスを指定してエラーハンドリングが効かなくなる。切るとちゃんと動く。

class MyApp < Padrino::Application
  set :show_exception, true
end



以上の内容はhttps://this.aereal.org/entry/2011/12/29/093925より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14