Condividi tramite


C# - Modifica e continuazione: errore 4033

Aggiornamento: novembre 2007

Messaggio di errore

Se si modifica un'istruzione try/catch/finally quando il blocco finally è attivo, la sessione di debug non potrà continuare quando è attivo Modifica e continuazione.
Modifying a try/catch/finally statement when the finally block is active will prevent the debug session from continuing while Edit and Continue is enabled

Questo errore si verifica quando si tenta di modificare un'istruzione try, catch o finally e il blocco finally corrispondente contiene un'istruzione attiva. Questo errore viene generato solo se il frame contenente l'istruzione attiva non si trova in cima allo stack di chiamate. Per ulteriori informazioni, vedere Istruzioni attive.

Si consideri il codice di esempio seguente:

class Program

{

   static void Example() { }

   static void Main(string[] args)

   {

      try

      {

         int a = 100;

      }

      finally

      {

         Example();

      }

   }

}

Se si imposta un punto di interruzione nella chiamata a Example, quindi si esegue il debug dell'applicazione e si tenta di modificare a = 100 in a = 10, si verificherà questo errore.

Per correggere l'errore

  • Annullare le modifiche e continuare il debug. È possibile apportare la modifica in un secondo momento, quando l'istruzione non è più attiva.

    —oppure—

    Scegliere Termina debug dal menu Debug, apportare le modifiche, quindi avviare una nuova sessione di debug.

Vedere anche

Riferimenti

try-catch-finally (Riferimenti per C#)

Modifiche al codice supportate (C#)

Modifica e continuazione (Visual C#)

Altre risorse

Errori e avvisi di Modifica e continuazione (C#)