http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57720
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- This has nothing to do with delegating constructors, constructor try-blocks cannot swallow exceptions, they are always rethrown at the end of the catch block. You get the same exception here: DCExcept(double d) try { cout<<"Run the body."<<endl; throw 1; } catch(...) { cout<<"Caught exception."<<endl; }