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 break exception, used for halting the Psy Shell.
16
 */
17
class BreakException extends \Exception implements Exception
18
{
19
    private $rawMessage;
20
 
21
    /**
22
     * {@inheritdoc}
23
     */
24
    public function __construct($message = '', $code = 0, \Throwable $previous = null)
25
    {
26
        $this->rawMessage = $message;
27
        parent::__construct(\sprintf('Exit:  %s', $message), $code, $previous);
28
    }
29
 
30
    /**
31
     * Return a raw (unformatted) version of the error message.
32
     */
33
    public function getRawMessage(): string
34
    {
35
        return $this->rawMessage;
36
    }
37
 
38
    /**
39
     * Throws BreakException.
40
     *
41
     * Since `throw` can not be inserted into arbitrary expressions, it wraps with function call.
42
     *
43
     * @throws BreakException
44
     */
45
    public static function exitShell()
46
    {
47
        throw new self('Goodbye');
48
    }
49
}