[rspec-users] Question on SQL exceptions

Scott Taylor scott at railsnewbie.com
Mon Mar 9 16:59:33 EDT 2009


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 at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users



More information about the rspec-users mailing list