Seems to me 'return false unless continue' should be moved to the rescue block, shouldn't be in the ensure.  Changed.