|
유엔아이 입니다.
하 저희랑 똑같은 문제 때문에 허덕이는것 같군요~
저희도 처음엔 사용자 입섹션이 않걸려서 아주 뒤집어 지는줄 알았습니다.
빌더가 에러 익셉션을 지가 멋대로 잡아 버립니다.
이유는 철저한 버그를 감시하고자 하는건데 ...
이렇게 사용자가 예외 처리를 했을땐 정말 불편 하지요~
빌더의 디버그 옵션을 꺼주시면 되는데요~
끄는 방법은
IDE 에서 Tools -> Debug Option 의 General 탭의 맨 밑에 보면
Integrated Debugging 이란 옵션이 있습니다 ... 이걸 끄셔야 사용자 입섹션이 제대로 걸리더군요
참고 하세요~
그럼
허접초보 님이 쓰신 글 :
: 답변 감사합니다.. 그런데 문제가 여전히 발생하고 있는 것이..
:
: ADOQuery->Active = false;
: ADOQuery->SQL->Clear();
: ADOQuery->SQL->Add( query );
: try
: {
: // ADOQuery->Insert();
: ADOQuery->ExecSQL();
: }
: catch( const Exception& e )
: {
: Application->MessageBox( e.Message.c_str(), "Database Write Error", MB_OK | MB_ICONERROR );
: ADOQuery->CancelUpdates();
: }
: ADOQuery->Close();
:
: 이렇게 했을때... ( 물론 Insert )로도 해봤습니다... catch 에서 MessageBox 를 띄우기 이전에 이미 Runtime 에러가 나고 에러가 난뒤 메세지가 뜹니다.. 그러니 프로그램은 더이상 진행하지 못하고 죽어버립니다.. 예전에도 Try..Catch 문을 사용했을때 이와 똑같은 문제가 발생을 했었는데... ㅠㅠ.
:
: 그러니까.. 정리하면 위의 구문처럼 하면.. Catch 에서 잡기 전에 이미 Runtime 오류가 떠 버리고 프로그램이 죽고 난뒤
: Application->MessageBox( e.Message.c_str(), "Database Write Error", MB_OK | MB_ICONERROR );
: 이 구문이 실행이 됩니다.. 이걸 어떻게 좀 해결이 안될까요..?
:
: 런타임 오류는 구문오류입니다... 들어가서는 안될 문자가 들어간 것 같습니다.. ㅡㅡㆀ
: 감사합니다..
|