Ошибка компилятора CS1631
Обновлен: Ноябрь 2007
Сообщение об ошибке
Нельзя использовать оператор yield в теле конструкции catch
Cannot yield a value in the body of a catch clause
Вызывать оператор "yield" из тела предложения "catch" не разрешается. Чтобы избежать возникновения этой ошибки, переместите оператор "yield" за пределы предложения "catch".
Следующий пример приводит к созданию ошибки 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()
{
}
}