raise
명령으로 인해 스택 오버플로가 발생하는 예외가 있습니다. 내가 무엇을해야하는지 알고 위해이 기사를 읽고 : 내가 이해 무엇 http://www.debuggingexperts.com/modeling-exception-handling델파이에서 연속되지 않는 예외 만들기
이 0xc0000025
이 (EXCEPTION_NONCONTINUABLE_EXCEPTION
) 잡힐 금지되는 예외를 잡으려고 시도를 의미하는 예외입니다. 내가 맞습니까?
그렇다면 어떤 예외가 계속되는 것으로 정의되는지 알고 싶습니다. 예외는 파스칼에서 정의되었으며 Exception
오브젝트에서 파생되었습니다.
또한이 예외가 처리되는 곳을 찾지 못해서 try-catch
블록을 추가했습니다. 예외가 성공적으로 발견되었습니다. 왜?
편집
는 내가 도움을 필요로하는 특정 상황을 설명하려면 :
예외 정의가 파스칼 코드를 호출하는 C++ 코드가, 그리고 raise
명령은 그것에서 발생합니다.
try-catch
블록을 C++ 코드에 넣기 전에 Pascal의 raise
은 스택 오버플로가 발생할 때까지 EXCEPTION_NONCONTINUABLE_EXCEPTION
의 1000 배 예외를 발생시킵니다.
try-catch
블록을 C++ 코드에 추가 한 후, 파스칼 코드의 raise
이 C++ 코드의 catch
블록으로 반환되었습니다.
- 왜 프로세스가 처음
NONCONTINUABLE
예외에 멈추지 않았다 :는 지금은이 개 질문이?
- C++ 코드의
catch
블록이이 예외를 발생시키지 않은 이유는 무엇입니까?
나는 권리를 확인한 후 질문을 편집하고 질문을 추가했습니다. 내가 쓴 모든 질문에 대답 해 주시겠습니까? 덕분에 . – Aharon
새로운 질문의 성격은 원래의 질문과 완전히 다릅니다. 이미 답을 한 후 공정하게 질문을 변경하지 마십시오. 귀하의 질문을 되돌리고 새로운 질문을 별도로 게시하십시오. 그렇게 할 때 다른 사람들이 문제를 재현하는 데 필요한 최소한의 코드, 즉 예외 정의,'raise'를 호출하는 커피, Delphi 코드를 호출하는 C++ 코드 및 try-catch 블록을 표시하는 것을 고려하십시오. –
왜 나에게 너무 화가 났니? 내가 추가 한 모든 편집 정보는 위에 적혀 있습니다. ** 당신은 ** 질문의 마지막 부분에 답을하지 않았고 좀 더 구체적으로 설명했습니다. 여기서 전체 코드를 제공 할 수는 없으며이 동작이 익숙한 지 알고 싶을뿐입니다. – Aharon