ActiveRecord exception handling

Hi,

I'm writing some scripts on the command line using ActiveRecord, and
some interesting (read: confusing) things are happening with the way
exceptions are caught and re-raised.

In AbstractAdapter.log (connection_adapters/abstract_adapter.rb:144),
Exception is rescued and reraised as an ActiveRecord::StatementInvalid
exception. While in most cases I'm sure this is fine, Exception
includes things like SystemExit and SignalException, which have
nothing to do with invalid SQL. If I'm executing a statement when I
send a TERM signal to the process (or call exit(0) when I trap it), if
I catch StatementInvalid and deal with it somehow my script is going
to continue running.

I just noticed in r8484 the other thing I was going to mention ('TERM'
being trapped in transactions.rb) was fixed; that produced similar
behavior.

Even changing Exception to StandardException inside
AbstractAdapter.log would solve most of what I'm seeing. Does anyone
have any thoughts on this?

Thanks,

Taylor

StandardError, rather, not StandardException.