Bearbeiten und Fortfahren mit C#: Fehler 4032

Aktualisiert: November 2007

Fehlermeldung

Das Ändern eines catch/finally-Handlers mit einer aktiven Anweisung im try-Block hat zur Folge, dass die Debugsitzung nicht fortgesetzt werden kann, solange Bearbeiten und Fortfahren aktiviert ist.
Modifying a catch/finally handler with an active statement in the try block will prevent the debug session from continuing while Edit and Continue is enabled

Dieser Fehler tritt auf, wenn Sie versuchen, einen catch-Handler oder einen finally-Handler zu bearbeiten, dessen try-Block eine aktive Anweisung enthält. Dies geschieht nur, wenn der aktive Frame sich nicht an oberster Position in der Aufrufliste befindet. Bearbeiten und Fortfahren kennzeichnet catch-Handler und finally-Handler als schreibgeschützt, sodass dieser Fehler nur in außergewöhnlichen Fällen auftritt.

Betrachten Sie folgenden Beispielcode:

#define EXAMPLE

class Program

{

   static void Example()

   {

      ...

   }

   static void Main(string[] args)

   {

      try

      {

         Example();

      }

#if EXAMPLE

      catch

      {

       ...

      }

#else

      catch(exception e)

      {

         ...

      }

#endif

   }

}

Dieser Fehler tritt auf, wenn Sie einen Haltepunkt für den Aufruf von Example festlegen und dann #define EXAMPLE in #define EXAMPLE2 ändern.

So beheben Sie diesen Fehler

  • Machen Sie die Änderungen rückgängig, und setzen Sie anschließend das Debuggen ohne die Änderungen fort. Sie können die Änderung später vornehmen, wenn die Anweisung nicht mehr aktiv ist.

    – oder –

    Klicken Sie im Menü Debuggen auf Debuggen beenden, nehmen Sie dann die Änderungen vor, und starten Sie eine neue Debugsitzung.

Siehe auch

Referenz

try-catch-finally (C#-Referenz)

Unterstützte Codeänderungen (C#)

Bearbeiten und Fortfahren (Visual C#)

Weitere Ressourcen

Bearbeiten und Fortfahren: Fehlermeldungen und Warnungen (C#)