Return non-zero exit code on failure