function TestBase::exceptionHandler

Handle exceptions.

See also

set_exception_handler

1 call to TestBase::exceptionHandler()
TestBase::run in core/modules/simpletest/src/TestBase.php
Run all tests in this class.

File

core/modules/simpletest/src/TestBase.php, line 1337

Class

TestBase
Base class for Drupal tests.

Namespace

Drupal\simpletest

Code

protected function exceptionHandler($exception) {
    $backtrace = $exception->getTrace();
    $verbose_backtrace = $backtrace;
    // Push on top of the backtrace the call that generated the exception.
    array_unshift($backtrace, [
        'line' => $exception->getLine(),
        'file' => $exception->getFile(),
    ]);
    $decoded_exception = Error::decodeException($exception);
    unset($decoded_exception['backtrace']);
    $message = new FormattableMarkup('%type: @message in %function (line %line of %file). <pre class="backtrace">@backtrace</pre>', $decoded_exception + [
        '@backtrace' => Error::formatBacktrace($verbose_backtrace),
    ]);
    $this->error($message, 'Uncaught exception', Error::getLastCaller($backtrace));
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.