better recursive unlink exception throwing