File Information
Library: Foundation
Package: Threading
Header: Poco/ErrorHandler.h
Description
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.
Member Summary
Member Functions: defaultHandler, exception, get, handle, set
Constructors
ErrorHandler
ErrorHandler();
Creates the ErrorHandler.
Destructor
~ErrorHandler
virtual ~ErrorHandler();
Destroys the ErrorHandler.
Member Functions
exception
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.
exception
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.
exception
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.
get
static ErrorHandler * get();
Returns a pointer to the currently registered ErrorHandler.
handle
static void handle(
const Exception & exc
);
Invokes the currently registered ErrorHandler.
handle
static void handle(
const std::exception & exc
);
Invokes the currently registered ErrorHandler.
handle
static void handle();
Invokes the currently registered ErrorHandler.
set
static ErrorHandler * set(
ErrorHandler * pHandler
);
Registers the given handler as the current error handler.
Returns the previously registered handler.
defaultHandler
static ErrorHandler * defaultHandler();
Returns the default ErrorHandler.