On Mar 9, 2009, at 4:53 PM, James Byrne wrote:

Pat Maddox wrote:
ActiveRecord doesn't know anything about db constraint errors. If one
is violated, the error propagates up in the form of an exception.


I realize that, but the exception is of the
ActiveRecord:StatementInvalid class, which I should be able to catch in the controller with a rescue clause. But, I am not getting this to work at the moment. I thought that this should at least produce some out put
but it never does:


 def create
   @entity = Entity.new(params[:entity])
   ...
   respond_to do |format|
     ...
     end
   end
 rescue => my_exception
   puts "Rescue clause invoked!"
   puts my_exception
 end


For now, all I want is to see the rescue clause invoked, but it is not.
have I put this clause in the wrong place? Am I specifying it wrong?

You can try "rescue Exception" which rescues from all exceptions, not just ones which inherit from StandardError. (rescue without an explicit error class *only* rescues from StandardExceptions and error classes which derive from it):

http://gist.github.com/76474

Also - I believe this only works in 1.8.6 and above, so if you're still on 1.8.5 I'd recommend an upgrade.

Scott




--
Posted via http://www.ruby-forum.com/.
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to