Freigeben über


Compilerfehler CS1626

Aktualisiert: November 2007

Fehlermeldung

Mit "yield" kann im Text eines try-Blocks mit einer catch-Klausel kein Wert zurückgegeben werden.
Cannot yield a value in the body of a try block with a catch clause

Eine yield-Anweisung ist in einem try-Block nicht zulässig, wenn dem try-Block eine catch-Klausel zugewiesen ist. Um diesen Fehler zu vermeiden, verschieben Sie die yield-Anweisung aus der catch-Klausel.

Im folgenden Beispiel wird der Fehler CS1626 generiert.

// CS1626.cs
using System.Collections;

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

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