This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc exception handle


õ Õ° writes:
 > Hi,
 > 
 > Here is My test function :
 >  
 > class A
 > {
 > public:
 > private:
 >  char string[SIZE];
 > };
 >  
 > void test1(void)
 > {
 >     A obj;
 >  
 >     try 
 >     {
 >        throw obj; 
 >     }
 >     catch (A &e)
 >     {
 >        printf("exception ! \n");
 >     }
 > }
 >  
 > when SIZE <= 68,"__cxa_allocate_exception" allocates space for the 
 > exception successfully,after "__cxa_throw" is called,"__cxa_begin_catch" is 
 > called,and the statement "printf..." in the catch block can be executed.
 > when SIZE > 68, ,"__cxa_allocate_exception" also allocates space for the 
 > exception successfully,but after "__cxz_throw" is called,"__cxa_end_catch" 
 > is called,and the program crashed.

Works for me.  What arch, what compiler version, etc.

Andrew.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]