# 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 ~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.