Consider the following program:
class Exception {}; int main() { try { throw Exception(); // where is the exception stored? } catch( Exception & ex) // catch by reference {} }
The handler catches the exception by reference, not by value. Catching exception by reference is recommended because it’s more efficient and it avoids slicing when handling a derived exception object. However, a reader who read this recommendation was intrigued: “If the exception object is created on the stack, why doesn