처리되지 않은 예외 (catch 블록 외부로 던져진 예외 포함)를 잡는 방법이 있습니까?처리되지 않은 모든 C++ 예외를 잡기?
나는 예외를 다룬 모든 정상적인 정리에 대해 정말로 신경 쓰지 않는다. 단지 잡을 수 있고, 로그에 기록하고 사용자에게 알리고 프로그램을 종료 할 수있다. 예외적으로이 사건은 일반적으로 치명적이기 때문에, 복구 할 수없는 오류. 같은
뭔가 :
global_catch()
{
MessageBox(NULL,L"Fatal Error", L"A fatal error has occured. Sorry for any inconvience", MB_ICONERROR);
exit(-1);
}
global_catch(Exception *except)
{
MessageBox(NULL,L"Fatal Error", except->ToString(), MB_ICONERROR);
exit(-1);
}
것은 정말 내가 아는 일부를 프로그래머 ... 성능이 좀 중요하기 때문에 ... 하나의 큰 '슈퍼 시도 "블록에 내 전체 응용 프로그램을 넣어 싶지 않는 것입니다 어딘가에 어딘가에 있기 때문에 Visual Studio 예를 들어 감지 할 수/catch/어떤 exceptionsn 및 휴식과 디버깅을 제공합니다. –
수퍼 try 블록이 작동합니다. 당신은 메인에 한 번 설치 비용을 지불합니다. 한 번은 성능 문제가 아닙니다. – EvilTeach
한 번만? 한 번 try 블록 안에 던진 후에 정리를위한 일종의 "trace"를 유지했는데 블록의 내용을 기반으로 비용을 산출 했습니까? –