08b56c0b4fbad7c8c95ea7946db8b724f5d27d60
[yaffs-website] / vendor / psy / psysh / src / Exception / FatalErrorException.php
1 <?php
2
3 /*
4  * This file is part of Psy Shell.
5  *
6  * (c) 2012-2018 Justin Hileman
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     $filename (default: null)
28      * @param int        $lineno   (default: null)
29      * @param \Exception $previous (default: null)
30      */
31     public function __construct($message = '', $code = 0, $severity = 1, $filename = null, $lineno = null, $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      * @return string
47      */
48     public function getRawMessage()
49     {
50         return $this->rawMessage;
51     }
52 }