내가 할 노력하고있어 :C++ Builder에서 액세스 위반 예외를 처리합니까?
try{
int * i = NULL;
*i = 3;
}catch(Exception &Err){
ShowMessage(Err.Message);
}
나는 생각이 액세스 위반 예외를 catch하고 오류 메시지를 표시하여이를 처리해야한다고.
는하지만 어떤 이유로 나는 간단한
액세스 위반을 대신 전체 하나의 모듈 YYY에
액세스 위반 XXX의
메시지가 표시됩니다. 주소 ZZZ에 글쓰기.
BTW, ExceptObject()
루틴은 이상한 이유로 NULL을 반환합니다.
무엇이 여기에 있습니까?
"Vialotion 액세스"가 작동하는 방식이기 때문에 표시됩니다. RTL은 던져진 EAccessViolation 객체에 전체 예외 데이터를 저장하지 않습니다. ExceptObject()와 관련하여 사용중인 C++ Builder의 버전을 말하지 않았습니다. ExceptObject() 및 ExceptAddr()은 이전 버전의 C++에서 버그가있는 것으로 알려져 있습니다. –