Exception::__construct

  1. Bitrix24 API (v. 23.675.0)
  2. tasks
  3. Exception
  4. __construct
  • Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/exception.php
  • Класс: Bitrix\Tasks\Exception
  • Вызов: Exception::__construct
public function __construct($message = false, array $data = array(), array $additional = array())
{
	if(!empty($data))
	{
		$this->data = $data;
	}
	if(!empty($additional))
	{
		$this->additional = $additional;
	}

	if($message === false)
	{
		$message = $this->getDefaultMessage();
	}
	$this->messageOrigin = $message;

	if(!isset($additional['FILE']))
	{
		$additional['FILE'] = '';
	}
	if(!isset($additional['LINE']))
	{
		$additional['LINE'] = 0;
	}
	if(!isset($additional['CODE']))
	{
		$additional['CODE'] = 0;
	}
	$additional['LINE'] = intval($additional['LINE']);
	$additional['CODE'] = intval($additional['CODE']);
	if(!isset($additional['PREVIOUS_EXCEPTION'])) // todo: remove?
	{
		$additional['PREVIOUS_EXCEPTION'] = null;
	}

	$doDump = $this->dumpAuxError();

	if($doDump)
	{
		$exceptionId = uniqid('', true);

		if(isset($this->data['AUX']['ERROR']))
		{
			if(!is_array($this->data['AUX']['ERROR']))
			{
				$this->data['AUX']['ERROR'] = array((string) $this->data['AUX']['ERROR']);
			}
		}
	}

	parent::__construct(($doDump ? $exceptionId.': ' : '').$this->prepareMessage($message), $additional['CODE'], $additional['FILE'], $additional['LINE'], $additional['PREVIOUS_EXCEPTION']);
}

Добавить комментарий