Partager via


Erreur du compilateur CS1626

Mise à jour : novembre 2007

Message d'erreur

Impossible de générer une valeur dans le corps d'un bloc try avec une clause catch
Cannot yield a value in the body of a try block with a catch clause

Les instructions yield ne sont pas autorisées dans les blocs try si une clause catch est associée au bloc try. Pour éviter cette erreur, enlevez l'instruction yield de la clause catch.

L'exemple suivant génère l'erreur CS1626 :

// CS1626.cs
using System.Collections;

class C : IEnumerable
{
   public IEnumerator GetEnumerator()
   {
      try
      {
         yield return this;  // CS1626
      }
      catch
      {
        
      }
   }
}

public class CMain
{
   public static void Main() { }
}