Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
"продолжить": выскочить из блока __finally/, наконец, не определено поведение во время обработки завершения
Замечания
Компилятор столкнулся с одним из следующих ключевых слов:
вызывая выскочивание или __finallyfinally блокировку во время ненормального завершения.
Если возникает исключение, и во время стека во время выполнения обработчиков завершения ( __finally блоки или, наконец, блоки), код выходит из __finally блока до __finally завершения блока, поведение не определено. Элемент управления может не вернуться в код очистки, поэтому исключение может не обрабатываться должным образом.
Если вы должны выпрыгнуть из __finally блока, сначала проверьте ненормальное завершение.
Параметр /sdl компилятора (включение дополнительных проверок безопасности) повышает этот предупреждение до ошибки.
Пример
В следующем примере создается C4532; удалите или закомментируйте инструкции перехода, чтобы устранить предупреждения.
// 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;
}
}
}