class Foo
{
public:
      Foo()
      {
             printf( "생성자\n");
       }

virtual ~Foo()
{
       printf( "소멸자\n");

int* a=0;

*a=1;

printf( "소멸자 예외\n");

}

};

void bar()
{
     try 
     {
              Foo foo;

printf( "의도적 예외발생 전\n" );

int* a=0;

*a=1;

printf( "의도적 예외발생 후\n" );

}

catch(...)
{
        printf( "예외 발생\n" );
 }

 printf( "계속 진행\n" );

}

 

 

 


Yes with SEH Exceptions (/EHa)

생성자
의도적 예외발생 전
소멸자
예외 발생
계속 진행


Yes (/EHsc)

생성자
의도적 예외발생 전
프로그램 종료됨


Yes with Extern C functions (/EHs)

생성자
의도적 예외발생 전
프로그램 종료됨

 

No

생성자
의도적 예외발생 전
예외 발생
계속 진행

 

 

 

 

 

 

 

 


Posted by great-artist
,