An uncaught exception is— by definition —not caught anywhere If an exception cannot be handled, the C++ exception mechanism will call std::terminate() (see include header exception ), which will call a customizable termination handler. On your platform, the standard termination handler prints the output of std::exception::what() (which Poco's exceptions inherit from). Unfortunately, the way Poco's exceptions are designed, this will not contain any useful information There are multiple ways an exception cannot be handled: No suitable catch() handler is found and the unwinding mechanism exits main() You can try wrapping your main() code in try...catch to print the exception's displayText() A function exits with an exception that does not match its exception specification ( functionname(...) throw(...) ).
This will call std::unexpected() which in turn will call std::terminate() (by default) An exception is thrown from within a destructor that is called during the unwinding process of another exception. Never throw exceptions in destructors! An exception is thrown while trying to create the original exception object.
Never throw exceptions in custom exception classes! When using Poco threads and a thread is terminated by an unhandled exception, Poco will invoke its internal ErrorHandler and the program will not exit, so I doubt that this is a threading issue.
An uncaught exception is— by definition —not caught anywhere. If an exception cannot be handled, the C++ exception mechanism will call std::terminate() (see include header ), which will call a customizable termination handler. On your platform, the standard termination handler prints the output of std::exception::what() (which Poco's exceptions inherit from).
Unfortunately, the way Poco's exceptions are designed, this will not contain any useful information. There are multiple ways an exception cannot be handled: No suitable catch() handler is found and the unwinding mechanism exits main(). You can try wrapping your main() code in try...catch to print the exception's displayText().
A function exits with an exception that does not match its exception specification (... functionname(...) throw(...)). This will call std::unexpected() which in turn will call std::terminate() (by default). An exception is thrown from within a destructor that is called during the unwinding process of another exception.
Never throw exceptions in destructors! An exception is thrown while trying to create the original exception object. Never throw exceptions in custom exception classes!
When using Poco threads and a thread is terminated by an unhandled exception, Poco will invoke its internal ErrorHandler and the program will not exit, so I doubt that this is a threading issue.
Thanks. For easier debugging, I hacked Exception::what() in Poco to print the displayText() to stdout. This makes it possible to see the actual message of uncaught exceptions.
I am still working on figuring out the actual cause, the exception is about not being able to lock a mutex, and is probably thrown somehow from some destructor. – Omry Nov 19 '09 at 14:24 turns out the bug is IN Poco ErrorHandler, or at least one bug. Check this out: pocoproject.Org/forum/… – Omry Nov 19 '09 at 18:26.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.