C++ 예외와 달리 액세스 위반은 응용 프로그램 런타임이 손상되어 응용 프로그램의 상태가 정의되지 않았 음을 나타냅니다. 그 상황에서 가장 좋은 방법은 응용 프로그램을 종료하는 것입니다 (일반적으로 충돌 때문에 종료됩니다).왜 액세스 위반이 발생합니까?
이러한 예외 중 하나를 포착하는 것이 가능하다는 점에 유의하십시오. 예를 들어 Microsoft Visual C++에서는 /EHa
또는 __try/__catch
을 사용하면됩니다.
그래서 당신이 그들을 붙잡고 싶을 이유가 무엇입니까? 내가 알기에, 당신의 응용 프로그램을 복구 할 수있는 방법은 없습니다.
사용자가 충돌 할 때 일반적으로 사용자에게 불쾌한 행동을 할 수 있습니다. 예를 들어 어떤 이유로 든 작업 표시 줄을 비활성화했을 수 있습니다. 완료되기 전에 되돌릴 지 확인해야합니다. – chris
하지만 런타임이 손상되면 코드 정리 작업을 계속할 확률은 어느 정도입니까? – Chimera
나는 최악의 경우 응용 프로그램이 다운 될 수 있다고 생각합니다. ;-) – PaulH