description

# handleUncaughtError method

void handleUncaughtError (dynamic error, StackTrace stackTrace)

Handles uncaught asynchronous errors.

There are two kind of asynchronous errors that are handled by this function:

1. Uncaught errors that were thrown in asynchronous callbacks, for example, a `throw` in the function passed to Timer.run.
2. Asynchronous errors that are pushed through Future and Stream chains, but for which no child registered an error handler. Most asynchronous classes, like Future or Stream push errors to their listeners. Errors are propagated this way until either a listener handles the error (for example with Future.catchError), or no listener is available anymore. In the latter case, futures and streams invoke the zone's handleUncaughtError.

By default, when handled by the root zone, uncaught asynchronous errors are treated like uncaught synchronous exceptions.

## Implementation

    void handleUncaughtError(error, StackTrace stackTrace);