Use fail keyword instead of raise unless rescuing