次の方法で共有


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

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#)