- Модуль: 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']);
}