Hi Sonatabar, >Thank you Brian for the reference. But strange as it is, it used to work without complaining when I was using older GCC(3.2.3 i believe) currently using 3.4.4, any comments? Older GCC compilers were not ISO 14882 compliant on this issue. That allowed non-compliant code to compile even though it should not have (at least, not without some compiler extension flag enabling the non-compliant behavior if/when/where desired). GCC continues to strive to become as-close-as-possible to ISO 14882 compliance. It's been darn good over the years at compliance, but there were some dark dusty corners that hadn't been cleaned up until recently. Hmmmm... I don't have a URL on the current state of GCC 4.1.2 compliance and exceptions. My Google-fu has failed me. HTH, --Eljay