Bitrix24\Bitrix24::handleBitrix24APILevelErrors PHP Method

handleBitrix24APILevelErrors() protected method

Handling bitrix24 api-level errors
protected handleBitrix24APILevelErrors ( $arRequestResult, $methodName, array $additionalParameters = [] ) : null
$arRequestResult
$methodName
$additionalParameters array
return null
    protected function handleBitrix24APILevelErrors($arRequestResult, $methodName, array $additionalParameters = array())
    {
        if (array_key_exists('error', $arRequestResult)) {
            $errorMsg = sprintf('%s - %s in call [%s] for domain [%s]', $arRequestResult['error'], array_key_exists('error_description', $arRequestResult) ? $arRequestResult['error_description'] : '', $methodName, $this->getDomain());
            $this->log->error($errorMsg, $this->getErrorContext());
            // throw specific API-level exceptions
            switch (strtoupper(trim($arRequestResult['error']))) {
                case 'WRONG_CLIENT':
                case 'ERROR_OAUTH':
                    throw new Bitrix24WrongClientException($errorMsg);
                case 'ERROR_METHOD_NOT_FOUND':
                    throw new Bitrix24MethodNotFoundException($errorMsg);
                case 'INVALID_TOKEN':
                case 'INVALID_GRANT':
                    throw new Bitrix24TokenIsInvalidException($errorMsg);
                case 'EXPIRED_TOKEN':
                    throw new Bitrix24TokenIsExpiredException($errorMsg);
                case 'PAYMENT_REQUIRED':
                    throw new Bitrix24PaymentRequiredException($errorMsg);
                default:
                    throw new Bitrix24ApiException($errorMsg);
            }
        }
        return null;
    }