コンパイラ エラー CS1631

更新 : 2007 年 11 月

エラー メッセージ

catch 句の本体で値を生成することはできません。

catch 句の本体に yield ステートメントを記述することはできません。このエラーを回避するには、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() 
   {
   }
}