Agree its not logical to do actions which can fail inside of the Controller. The controller should produce a result which can be rendered somehow (view, other action) to the user.