1
0
mirror of https://github.com/danog/parallel.git synced 2024-12-12 09:09:35 +01:00
parallel/lib/Sync/PanicError.php

49 lines
1.1 KiB
PHP
Raw Normal View History

2016-12-30 02:16:04 +01:00
<?php
2015-08-27 16:10:08 +02:00
2017-12-08 04:26:55 +01:00
namespace Amp\Parallel\Sync;
2016-08-18 18:04:48 +02:00
2018-10-21 17:54:46 +02:00
final class PanicError extends \Error
2018-10-07 16:50:45 +02:00
{
/** @var string Class name of uncaught exception. */
private $name;
2017-05-18 09:51:31 +02:00
2016-08-26 17:10:03 +02:00
/** @var string Stack trace of the panic. */
2015-08-27 16:10:08 +02:00
private $trace;
/**
* Creates a new panic error.
*
* @param string $name The uncaught exception class.
* @param string $message The panic message.
* @param string $trace The panic stack trace.
* @param \Throwable|null $previous Previous exception.
2015-08-27 16:10:08 +02:00
*/
public function __construct(string $name, string $message = '', string $trace = '', \Throwable $previous = null)
2018-10-07 16:50:45 +02:00
{
parent::__construct($message, 0, $previous);
$this->name = $name;
2015-08-27 16:10:08 +02:00
$this->trace = $trace;
}
2017-05-18 09:51:31 +02:00
/**
* Returns the class name of the uncaught exception.
*
* @return string
*/
2018-10-07 16:50:45 +02:00
public function getName(): string
{
return $this->name;
}
2015-08-27 16:10:08 +02:00
/**
* Gets the stack trace at the point the panic occurred.
*
* @return string
*/
2018-10-07 16:50:45 +02:00
public function getPanicTrace(): string
{
2015-08-27 16:10:08 +02:00
return $this->trace;
}
}