devxlogo

Where Are Exception Objects Stored?

Where Are Exception Objects Stored?

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

devx-admin

Share the Post: