CS1631 de erro do compilador
Mensagem de erro
Não é possível usar a instrução yield no corpo de uma cláusula catch
A demonstrativo yield não é permitida de dentro do corpo de uma cláusula catch.Para evitar esse erro, mova a demonstrativo yield fora do corpo da cláusula catch.
O exemplo a seguir gera 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()
{
}
}