27.7 — Function try blocks

Try and catch blocks work well enough in most cases, but there is one particular case in which they are not sufficient. Consider the following example: #include <iostream> class A { private: int m_x; public: A(int x) : m_x{x} { if (x <= 0) throw 1; // Exception thrown here …