자일리톨 님이 쓰신 글 :
: 클로즈 된 소켓의 에러에 대한 처리로
:
: try catch block 을 사용하였는데
:
: try {
:
: }
: catch(...)
: {
: ShowMessage("Socket is closed !! ") ; //line #1
: }
:
: 라고 썼는데
: IDE 에서 실행할경우에는 line #1 에 브렉포인트 걸경우 stop 이되는데
:
: 실행파일을 직접 실행할경우에는 catch 문이 잡아 내지 못하는지
: 메인 cpp 에 있는 exception handler 가 트리거되서 자꾸 원하지 않는 Dialog 가 뜨는 데
:
: 왜 단독 실행시 catch block 에서 exception 을 잡아 내지 못하는지
: 아시는분 조언 좀 부탁 드리겠습니다. (컴파일러 옵션에서 C++ 의 exception 관련 부분도 점검했는데..)
: (단 Tools->Debugger->Option .. 에 excetion 시 stop 과는 관계 없는 내용입니다. IDE 바깥에서 실행 할때 Exception 이 잡히지 않는 문제 입니다. )
저도 예전에 비슷한 문제가 있었는데, 프로젝트 옵션에 VCL 라이브러가 thread를 지원하지 않는 라이브러리도 링크되어 있었던 문제였습니다. 같은 원인일지도 몰라서 답변합니다..
참고)
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=41708
|