¿Hay alguna forma de recuperarse de una excepción en Directory.EnumerateFiles?

En .NET 4, hay estoDirectory.EnumerateFiles () método con recursión que parece útil.
Sin embargo, si ocurre una excepción dentro de una recursión, ¿cómo puedo continuar / recuperarme de eso y continuar enumerando el resto de los archivos?

try
{
  var files = from file in Directory.EnumerateFiles("c:\\",
                           "*.*", SearchOption.AllDirectories)
              select new
              {
                File = file
              };

  Console.WriteLine(files.Count().ToString());

}
catch (UnauthorizedAccessException uEx)
{
  Console.WriteLine(uEx.Message);
}
catch (PathTooLongException ptlEx)
{
  Console.WriteLine(ptlEx.Message);
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta