C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[49056] 예외 처리가 이상합니다.
이현진 [cyberpd] 1217 읽음    2007-04-25 13:57
Turbo C++로 프로그래밍 중에 동작이 이상하여 확인해 보니, 예외 처리가 안되네요.

__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    Application->OnException=MyExceptionHandler;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::MyExceptionHandler(TObject *Sender, Exception *E)
{
    if(E!=NULL)
    {
        AnsiString msg="MyException: "+E->Message;
        Memo1->Text=msg;
    }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    try
    {
        throw Exception("test exception!");
    } catch(Exception& _e)
    {
        Memo1->Text=_e.Message;
    } catch(Exception* _e)
    {
        Memo1->Text="pointer "+_e->Message;
    } catch(std::exception& _e)
    {
        Memo1->Text="standard exception: "+AnsiString(_e.what());
    } catch(...)
    {
        Memo1->Text="unknown exception!";
    }
}
//---------------------------------------------------------------------------

Exception 예외를 발생시키면, catch 구문에서 예외를 처리 못하고, Applicaiton의 예외 처리 핸들러로 넘어가 버립니다.
IDE에서 Debug/Release 실행이던지, 컴파일 후 *.exe 파일을 실행하던지 동작이 같습니다.
갑자기 왜이런지 모르겠네요.

똑같은 코드를 BCB6에서 작성하면 정상적으로 예외 처리가 되네요. ㅜ.ㅜ

+ -

관련 글 리스트
49056 예외 처리가 이상합니다. 이현진 1217 2007/04/25
49058     Re:예외 처리가 이상합니다. 이현진 1183 2007/04/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.