Hi All,
I have a class constructor 'DBInterfaceTests()' which calls the member function of an object of another class. That call makes a hard-coded throw of type Debugging::Assertion, and the return type of Debugging::Assertion::what() is 'const char*'. In the following code compiled with gcc on Linux, only the output from the second catch block is seen.
I found the source of the problem. A stream output of type 'char *' was shutting cout down somehow. It appears that whatever sqlite3 returns for a NULL value in a call to 'sqlite3_get_table()' was making cout output stop. I'm not sure if it's because it's the right escape sequence for the terminal to do this, or because the value confused the stream too much.