annotate vendor/psy/psysh/src/Exception/FatalErrorException.php @ 19:fa3358dc1485 tip

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