Closes #378 by throwing Exceptions instead which then get caught by the ControllerAdvice class and logged to the database.