Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
'doorgaan': springen uit het __finally block heeft ongedefinieerd gedrag tijdens de afhandeling van de beëindiging
Opmerkingen
De compiler heeft een van de volgende trefwoorden aangetroffen:
veroorzaakt een sprong uit een __finally of finally blok bij een abnormale beëindiging.
Als er een uitzondering optreedt en terwijl de stack wordt afgewikkeld tijdens de uitvoering van de beëindigingshandlers (de __finally of ten slotte blokken), en uw code uit een __finally blok springt voordat het __finally blok eindigt, is het gedrag niet gedefinieerd. Het is mogelijk dat de controle niet terugkeert naar de ontkoppelcode, waardoor de uitzondering mogelijk niet goed wordt afgehandeld.
Als u uit een __finally blok moet springen, controleer eerst of er een abnormale beëindiging is.
Met de /sdl compileroptie (Aanvullende beveiligingscontroles inschakelen) wordt deze waarschuwing uitgebreid naar een fout.
Example
In het volgende voorbeeld wordt C4532 gegenereerd; verwijder of commentarieer de jump-instructies om de waarschuwingen op te heffen.
// 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;
}
}
}