Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 148 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
/*
4
 * This file is part of Psy Shell.
5
 *
200 lars 6
 * (c) 2012-2023 Justin Hileman
148 lars 7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
 
12
namespace Psy\Exception;
13
 
14
/**
15
 * A "fatal error" Exception for Psy.
16
 */
17
class FatalErrorException extends \ErrorException implements Exception
18
{
19
    private $rawMessage;
20
 
21
    /**
22
     * Create a fatal error.
23
     *
24
     * @param string          $message  (default: "")
25
     * @param int             $code     (default: 0)
26
     * @param int             $severity (default: 1)
27
     * @param string|null     $filename (default: null)
28
     * @param int|null        $lineno   (default: null)
29
     * @param \Throwable|null $previous (default: null)
30
     */
31
    public function __construct($message = '', $code = 0, $severity = 1, $filename = null, $lineno = null, \Throwable $previous = null)
32
    {
33
        // Since these are basically always PHP Parser Node line numbers, treat -1 as null.
34
        if ($lineno === -1) {
35
            $lineno = null;
36
        }
37
 
38
        $this->rawMessage = $message;
39
        $message = \sprintf('PHP Fatal error:  %s in %s on line %d', $message, $filename ?: "eval()'d code", $lineno);
40
        parent::__construct($message, $code, $severity, $filename, $lineno, $previous);
41
    }
42
 
43
    /**
44
     * Return a raw (unformatted) version of the error message.
45
     */
46
    public function getRawMessage(): string
47
    {
48
        return $this->rawMessage;
49
    }
50
}