There are several places in Rails that that rescue Object, but Ruby does not allow raising anything above Exception:
>> raise Object
TypeError: exception class/object expected
from (irb):1:in `raise'
from (irb):1
from :0
Note that the error is about my argument to raise there.
I've gone threw and tightened most rescue clauses that used this to the generic rescue Exception. I added comments to these lines, noting the kinds of errors they targetted. In a couple of places, I could see which Exception subclass would be thrown, so I restricted the rescue further, as appropriate.
The idea behind all of this is to only catch the expected errors, allowing unexpected errors to bubble up to higher layers. In areas where all Exceptions are being caught, the goal was just to make the code more self-documenting.
I assumed these methods were covered by tests, and made sure I didn't cause anything to start failing if it use to be passing.