Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
Se si modifica un gestore catch/finally con un'istruzione attiva nel blocco try, la sessione di debug non potrà continuare quando è attivo Modifica e continuazione.
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
Questo errore si verifica quando si tenta di modificare un gestore catch o finally il cui blocco try contiene un'istruzione attiva. L'errore viene generato solo se il frame attivo non si trova in cima allo stack di chiamate. In tal caso, i gestori catch e finally vengono contrassegnati automaticamente come di sola lettura. Questo errore si verifica pertanto in rari casi.
Si consideri il codice di esempio seguente:
#define EXAMPLE
class Program
{
static void Example()
{
...
}
static void Main(string[] args)
{
try
{
Example();
}
#if EXAMPLE
catch
{
...
}
#else
catch(exception e)
{
...
}
#endif
}
}
Se si imposta un punto di interruzione nella chiamata a Example e quindi si modifica #define EXAMPLE in #define EXAMPLE2, 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#)