Export (0) Print
Expand All
Expand Minimize

Compiler Error CS1631 

Error Message

Cannot yield a value in the body of a catch clause

The yield statement is not allowed from within the body of a catch clause. To avoid this error, move the yield statement outside the body of the catch clause.

The following sample generates CS1631:

// CS1631.cs
using System;
using System.Collections;

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

   public static void Main() 
   {
   }
}

Community Additions

ADD
Show:
© 2014 Microsoft