Subversion-Projekte lars-tiefland.laravel_shop

Revision

Zur aktuellen Revision | Details | 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
 *
6
 * (c) 2012-2022 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 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
     * @return string
34
     */
35
    public function getRawMessage(): string
36
    {
37
        return $this->rawMessage;
38
    }
39
 
40
    /**
41
     * Throws BreakException.
42
     *
43
     * Since `throw` can not be inserted into arbitrary expressions, it wraps with function call.
44
     *
45
     * @throws BreakException
46
     */
47
    public static function exitShell()
48
    {
49
        throw new self('Goodbye');
50
    }
51
}