# upstream/trunk/vendor/symfony/debug/Exception/FatalThrowableError.php

UpStream: a Project Management Plugin for WordPress, version trunk. 46 lines.

- Page: https://pluginprobe.com/plugins/upstream/trunk/code/vendor/symfony/debug/Exception/FatalThrowableError.php
- Raw: https://pluginprobe.com/plugins/upstream/trunk/raw/vendor/symfony/debug/Exception/FatalThrowableError.php
- Modified: 2024-05-22T12:40:54+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/upstream/trunk/code/vendor/symfony/debug/Exception/FatalThrowableError.php#L10-L20`.

```php
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\Debug\Exception;

/**
 * Fatal Throwable Error.
 *
 * @author Nicolas Grekas <p@tchwork.com>
 */
class FatalThrowableError extends FatalErrorException
{
    public function __construct(\Throwable $e)
    {
        if ($e instanceof \ParseError) {
            $message = 'Parse error: '.$e->getMessage();
            $severity = \E_PARSE;
        } elseif ($e instanceof \TypeError) {
            $message = 'Type error: '.$e->getMessage();
            $severity = \E_RECOVERABLE_ERROR;
        } else {
            $message = $e->getMessage();
            $severity = \E_ERROR;
        }

        \ErrorException::__construct(
            $message,
            $e->getCode(),
            $severity,
            $e->getFile(),
            $e->getLine(),
            $e->getPrevious()
        );

        $this->setTrace($e->getTrace());
    }
}

```
