validate_mac and validate_ip return errors, so you need to rescue them individually, I think. Otherwise the raise in validate_mac will prevent the validate_ip check from running at all.