次の方法で共有


C# エディット コンティニュ : エラー 4033

更新 : 2007 年 11 月

エラー メッセージ

finally ブロックがアクティブなときに try/catch/finally ステートメントを変更すると、エディット コンティニュが有効なとき、デバッグ セッションを続行できなくなります。

このエラーは、対応する finally ブロックにアクティブ ステートメントが含まれるときに、try ステートメント、catch ステートメント、または finally ステートメントを編集しようとすると発生します。このエラーは、アクティブ ステートメントを含むフレームが呼び出し履歴の先頭に存在しない場合にのみ発生します。詳細については、「アクティブなステートメント」を参照してください。

次のプログラム例について考えてみます。

class Program

{

   static void Example() { }

   static void Main(string[] args)

   {

      try

      {

         int a = 100;

      }

      finally

      {

         Example();

      }

   }

}

Example の呼び出しにブレークポイントを設定してデバッグを開始した後、a = 100 を a = 10 に変更しようとすると、このエラーが発生します。

このエラーを解決するには

  • 変更を元に戻してデバッグを続行します。ステートメントがアクティブでない場合は、後で変更できます。

    または

    [デバッグ] メニューの [デバッグの停止] をクリックし、変更を加えた後で新しいデバッグ セッションを開始します。

参照

参照

try-catch-finally (C# リファレンス)

サポートされているコード変更 (C#)

エディット コンティニュ (Visual C#)

その他の技術情報

エディット コンティニュのエラーと警告 (C#)