Poco

class ErrorHandler

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

virtual ~ErrorHandler();

Destroys the ErrorHandler.

Member Functions

exception virtual

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

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

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 inline

static ErrorHandler * get();

Returns a pointer to the currently registered ErrorHandler.

handle static

static void handle(
    const Exception & exc
);

Invokes the currently registered ErrorHandler.

handle static

static void handle(
    const std::exception & exc
);

Invokes the currently registered ErrorHandler.

handle static

static void handle();

Invokes the currently registered ErrorHandler.

set static

static ErrorHandler * set(
    ErrorHandler * pHandler
);

Registers the given handler as the current error handler.

Returns the previously registered handler.

defaultHandler protected static

static ErrorHandler * defaultHandler();

Returns the default ErrorHandler.