C# Error CS1631 – Cannot yield a value in the body of a catch clause

C# Error

CS1631 – Cannot yield a value in the body of a catch clause

Reason for the Error & Solution

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

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

This C# program calculates and displays an upper triangular matrix based on user input. Problem Statement: The program takes the...
This C# program serves as a demonstration of bitwise operators, which are fundamental operators used for manipulating individual bits in...
This C# program is designed to interchange or swap the columns of a matrix. A matrix is a two-dimensional array...