Улучшены исключения
- добавлены теги ФФД для удобства - тексты исключений переведены на англ. язык во избежание проблем с кодировками - новые исключения TooMany и TooLong для удобства, подходящие по смыслу исключения унаследованы от них
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use Exception;
|
||||
use Throwable;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при работе с АТОЛ Онлайн
|
||||
@@ -18,5 +19,33 @@ use Exception;
|
||||
*/
|
||||
class AtolException extends Exception
|
||||
{
|
||||
|
||||
/**
|
||||
* @var int[] Теги ФФД
|
||||
*/
|
||||
protected $ffd_tags = null;
|
||||
|
||||
/**
|
||||
* AtolException constructor.
|
||||
*
|
||||
* @param string $message
|
||||
* @param int $code
|
||||
* @param \Throwable|null $previous
|
||||
*/
|
||||
public function __construct($message = "", $code = 0, Throwable $previous = null)
|
||||
{
|
||||
if ($this->getFfdTags()) {
|
||||
$message .= ' [FFD tags: '.implode(', ', $this->getFfdTags()).']';
|
||||
}
|
||||
parent::__construct($message, $code, $previous);
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает теги ФФД, с которыми связано исключение
|
||||
*
|
||||
* @return array|null
|
||||
*/
|
||||
protected function getFfdTags(): ?array
|
||||
{
|
||||
return $this->ffd_tags;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user