Pergunta

Se meu aplicativo travar, uma biblioteca de tempo de execução do Microsoft Visual C ++ "Erro de tempo de execução!" ocorre.

O texto da mensagem é:
Este aplicativo solicitou o tempo de execução para rescindir de maneira incomum.
Entre em contato com a equipe de suporte do aplicativo para obter mais informações.

Sei que preciso resolver todos esses problemas, mas imagino que esse erro não apareceu no passado. Existe uma opção no Visual Studio 2005 para ativar/desativar esse erro (manuseio)?. Em vez disso, espero que o aplicativo traga/saia e ofereça um relatório de erro do Microsoft Windows.

Foi útil?

Solução

Esta mensagem de erro aparece se uma exceção não for tratada e unexpected() é chamado ou se uma exceção escapar de um destruidor durante a seleção da pilha e terminate() é chamado. Ambos levam a abort() sendo chamado e seu abort() implementação que mostra a caixa de mensagem. Esse comportamento é por design em VS2K3, VS2K5 e VS2K8. É realmente irritante, especialmente em aplicativos destinados a funcionar sem intervenção humana (como construções diárias, por exemplo).

Você pode alternar esse comportamento - use catch(...) para capturar todas as exceções no nível superior e definir o seu próprio terminate() manipulador usando set_terminate().

Outras dicas

usar:

_set_abort_behavior( 0, _WRITE_ABORT_MSG);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top