Upozornění kompilátoru (úroveň 1) C4532
"pokračovat": skok z __finally/finally bloku má nedefinované chování při ukončení zpracování
Kompilátor narazil na jednu z následujících klíčových slov:
Příčinou přeskakování z __finally nebo nakonec během abnormálního ukončení bloku.
Pokud dojde k výjimce a je jsou odděleny zásobníku během spuštění obslužné rutiny ukončení ( __finally nebo nakonec blokuje), a váš kód přejde z __finally bloku před __finally blok končí, chování není definován.Ovládací prvek nemusí vrátit kód unwinding tak nemusí správně zpracovat výjimku.
Pokud je nutné přejít mimo __finally bloku, nejprve zkontrolujte abnormálního ukončení.
Následující ukázka generuje C4532; jednoduše komentáře odkazů příkazy k řešení upozornění.
// 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;
}
}
}