This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: gcc exception handle
- From: Andrew Haley <aph at redhat dot com>
- To: 王 刚伟 <gwwang10 at hotmail dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Mon, 29 Jan 2007 11:11:36 +0000
- Subject: Re: gcc exception handle
- References: <BAY131-F476428FC55C7039F3D79EC1A70@phx.gbl>
õ Õ° 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.