Files
pest/src/Exceptions/ShouldNotHappen.php
Nuno Maduro de2929077b first
2020-05-11 18:38:30 +02:00

41 lines
857 B
PHP

<?php
declare(strict_types=1);
namespace Pest\Exceptions;
use Exception;
use RuntimeException;
/**
* @internal
*/
final class ShouldNotHappen extends RuntimeException
{
/**
* Creates a new instance of should not happen.
*/
public function __construct(Exception $exception)
{
$message = $exception->getMessage();
parent::__construct(sprintf(<<<EOF
This should not happen - please create an new issue here: https://github.com/pestphp/pest.
- Issue: %s
- PHP version: %s
- Operating system: %s
EOF
, $message, phpversion(), PHP_OS), 1, $exception);
}
/**
* Creates a new instance of should not happen without a specific exception.
*/
public static function fromMessage(string $message): ShouldNotHappen
{
return new ShouldNotHappen(new Exception($message));
}
}