Over the years Iâ€™ve come up with a little rule of thumb for exceptions:
Libraries Should Raise, Applications Should Not Raise.
Yes, itâ€™s as simple as that. To understand the reasons for my rule of thumb, we have to switch to the world of compiled programming languages for a second.
I couldn’t agree more!
So, now I want to pose a question back: Should controllers catch exceptions, such as those raised by find(id) within ActiveRecord, or should they fall through the generic exception handling support built into Rails?
Bonus question: Does your answer change if the caller is using XHR rather than a standard page request?