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