class Poco::ErrorHandler
Overview
This is the base class for thread error handlers. Moreā¦
#include <ErrorHandler.h> class ErrorHandler { public: // methods virtual void exception(const Exception& exc); virtual void exception(const std::exception& exc); virtual void exception(); static void handle(const Exception& exc); static void handle(const std::exception& exc); static void handle(); static ErrorHandler* set(ErrorHandler* pHandler); static ErrorHandler* get(); protected: // methods static ErrorHandler* defaultHandler(); };
Detailed Documentation
This is the base class for thread error handlers.
An unhandled exception that causes a thread to terminate is usually silently ignored, since the class library cannot do anything meaningful about it.
The Thread class provides the possibility to register a global ErrorHandler that is invoked whenever a thread has been terminated by an unhandled exception. The ErrorHandler must be derived from this class and can provide implementations of all three exception() overloads.
The ErrorHandler is always invoked within the context of the offending thread.
Methods
virtual void exception(const Exception& exc)
Called when a Poco::Exception (or a subclass) caused the thread to terminate.
This method should not throw any exception - it would be silently ignored.
The default implementation just breaks into the debugger.
virtual void exception(const std::exception& exc)
Called when a std::exception (or a subclass) caused the thread to terminate.
This method should not throw any exception - it would be silently ignored.
The default implementation just breaks into the debugger.
virtual void exception()
Called when an exception that is neither a Poco::Exception nor a std::exception caused the thread to terminate.
This method should not throw any exception - it would be silently ignored.
The default implementation just breaks into the debugger.
static void handle(const Exception& exc)
Invokes the currently registered ErrorHandler.
static void handle(const std::exception& exc)
Invokes the currently registered ErrorHandler.
static void handle()
Invokes the currently registered ErrorHandler.
static ErrorHandler* set(ErrorHandler* pHandler)
Registers the given handler as the current error handler.
Returns the previously registered handler.
static ErrorHandler* get()
Returns a pointer to the currently registered ErrorHandler.
static ErrorHandler* defaultHandler()
Returns the default ErrorHandler.