fc2ブログ

2023.08 «  - - - - - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 » 2023.10
TOP > Rails 2.0・その15(コントローラでの例外処理をまとめて記述)

 ← Rails 2.0・その16(シナリオを書いてのパフォーマンステストがし易くなりました) | TOP | Rails 2.0・その14(タグのサニタイズはホワイトリストで)

Rails 2.0・その15(コントローラでの例外処理をまとめて記述) 

2008年03月03日 ()
コントローラで例外が起きた時に実行される処理を、rescue_fromを使ってまとめて書くことができます。

言ってみれば、コントローラ内にあるたくさんのメソッドごとに例外処理を書くのではなくて、1コントローラにつき1回だけ例外処理を書くようにできるということです。

例を見てみましょう。

app/controllers/people_controller.rb



  class Exception1 < Exception # 例外クラスを定義する
  end

  rescue_from Exception1, :with => :handle_ex1

  def action1
    raise Exception1
    render(:text => 'action1')
  end

  def action2
    raise Exception1
    render(:text => 'action2')
  end

  protected
  def handle_ex1
    render(:text => 'handle_ex1')
  end




と書きますと、action1 や action2 で発生した同じ名前の例外を、まとめてhandle_ex1で処理できるようになります。

実際、このまとめて書く処理の方法がどう役に立つのか・・・分かりませんorz

ActiveRecordとかNotAuthorizedとか、何か具体的な使い道が思いついた方はコメントください、という他力本願マンセーな弥生の宵

【広告】

[2008.03.03(Mon) 00:24] [2.0]ControllerTrackback(0) | Comments(0)
↑TOPへ

 ← Rails 2.0・その16(シナリオを書いてのパフォーマンステストがし易くなりました) | TOP | Rails 2.0・その14(タグのサニタイズはホワイトリストで)

COMMENT

COMMENT POST















管理者にだけ表示

 ← Rails 2.0・その16(シナリオを書いてのパフォーマンステストがし易くなりました) | TOP | Rails 2.0・その14(タグのサニタイズはホワイトリストで)