Compiler Error CS1625

Cannot yield in the body of a finally clause

A yield statement is not allowed in the body of a finally clause. To avoid this error, move the yield statement out of the finally clause.

The following sample generates CS1625:

// CS1625.cs
using System.Collections;

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

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