Raise in place of exit to prevent nested calls returning early