Вход Регистрация
Файл: vendor/psy/psysh/src/Exception/ThrowUpException.php
Строк: 57
<?php

/*
 * This file is part of Psy Shell.
 *
 * (c) 2012-2022 Justin Hileman
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace PsyException;

/**
 * A throw-up exception, used for throwing an exception out of the Psy Shell.
 */
class ThrowUpException extends Exception implements Exception
{
    
/**
     * {@inheritdoc}
     */
    
public function __construct(Throwable $throwable)
    {
        
$message sprintf("Throwing %s with message '%s'"get_class($throwable), $throwable->getMessage());
        
parent::__construct($message$throwable->getCode(), $throwable);
    }

    
/**
     * Return a raw (unformatted) version of the error message.
     *
     * @return string
     */
    
public function getRawMessage(): string
    
{
        return 
$this->getPrevious()->getMessage();
    }

    
/**
     * Create a ThrowUpException from a Throwable.
     *
     * @deprecated psySH no longer wraps Throwables
     *
     * @param Throwable $throwable
     *
     * @return self
     */
    
public static function fromThrowable($throwable): self
    
{
        if (
$throwable instanceof Error) {
            
$throwable ErrorException::fromError($throwable);
        }

        if (!
$throwable instanceof Exception) {
            throw new 
InvalidArgumentException('throw-up can only throw Exceptions and Errors');
        }

        return new 
self($throwable);
    }
}
Онлайн: 0
Реклама