#include class A { public: A() { throw 1;} }; template class X { T t; public: X(); }; template X::X() try : t() { } catch (...) { std::cout << "Here!" << std::endl; } int main() { X x; return 0; }