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() { }
}