If you would like to keep the jobs in the queu that do not exit successful you can put into the submit file:
'on_exit_hold = (ExitCode =!= 0)'
Jobs not exiting with ExitCode '0' will stay in the queue as 'hold' jobs you can list them with:
'condor_q -hold'
and release/restart them with
'condor_release'
Keep in mind though: jobs in the hold state will be deleted automatically after a couple of days.
If you prefer to restart unsuccessful jobs right away put into the submit file:
'on_exit_remove = (ExitBySignal == False) && (ExitCode == 0)'