def register_new_user(params) new_user = User.new(params) authorize! :create, new_user new_user.save! send_welcome_email(new_user) end Even after reading the implementation, it’s still difficult to know for sure. Some of the possible exceptions would be obvious to a Rails developer, and you can probably guess which methods could throw other exceptions, but exceptions could be raised by any method