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.
'continue': il passaggio dal blocco __finally/finally ha un comportamento indefinito durante la gestione della terminazione
Osservazioni:
Il compilatore ha rilevato una delle parole chiave seguenti:
causando un salto da un blocco o __finally durante la finally terminazione anomala.
Se si verifica un'eccezione e mentre lo stack viene scollegato durante l'esecuzione dei gestori di terminazione (blocchi __finally o infine) e il codice si sposta all'esterno di un __finally blocco prima del termine del __finally blocco, il comportamento non è definito. Il controllo potrebbe non tornare al codice di rimozione, pertanto l'eccezione potrebbe non essere gestita correttamente.
Se è necessario uscire da un __finally blocco, verificare prima la terminazione anomala.
L'opzione del /sdl compilatore (Abilita controlli di sicurezza aggiuntivi) eleva questo avviso a un errore.
Esempio
L'esempio seguente genera l'errore C4532; eliminare o commentare le istruzioni di salto per eliminare gli avvisi.
// C4532.cpp
// compile with: /W1
// C4532 expected
int main() {
int i;
for (i = 0; i < 10; i++) {
__try {
} __finally {
// Delete the following line to resolve.
continue;
}
__try {
} __finally {
// Delete the following line to resolve.
break;
}
}
}