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.
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.
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 (C# Reference)
Modifiche al codice supportate (C#)
Modifica e continuazione (Visual C#)