Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
'continuar' : sair do bloco __finally tem um comportamento indefinido durante o processo de terminação
Observações
O compilador encontrou uma das seguintes palavras-chave:
causando um salto para fora de um bloco __finally ou finally durante uma terminação anormal.
Se ocorrer uma exceção, e enquanto a pilha estiver a ser desenrolada durante a execução dos manipuladores de terminação (os blocos __finally ou os blocos finally), e o seu código saltar de um bloco __finally antes que o bloco __finally termine, o comportamento será indefinido. O controle pode não retornar ao código de desenrolamento, portanto, a exceção pode não ser tratada corretamente.
Se tiver de sair de um __finally bloco, verifique primeiro se há uma terminação anormal.
A opção do compilador (Ativar verificações de segurança adicionais) eleva esse aviso a um erro./sdl
Example
O exemplo a seguir gera C4532; elimine ou comente as instruções de salto para resolver os avisos.
// 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;
}
}
}