Skip to content

Исключения

Все исключения наследуются от UnihraError.

python
from unihra.exceptions import (
    UnihraError,
    UnihraConnectionError,
    UnihraValidationError,
    UnihraDependencyError,
    UnihraStorageError,
    UnihraApiError,
    ParserError,
    AnalysisServiceError,
    CriticalOwnPageError,
    ReportGenerationError,
    TripletAnalysisError,
)

Иерархия

UnihraError
├── UnihraConnectionError     # Сбои сети / таймауты
├── UnihraValidationError     # Неверный ввод (пустой список конкурентов и т.д.)
├── UnihraDependencyError     # Отсутствует опциональный пакет (pandas, openpyxl)
├── UnihraStorageError        # Не удалось записать файлы в analyze_and_save()
└── UnihraApiError            # API вернул ошибку
    ├── ParserError           # код 1001 — страница не загружена/не разобрана
    ├── AnalysisServiceError  # код 1002 — внутренний сбой анализа
    ├── CriticalOwnPageError  # код 1003 — ваша страница недоступна
    ├── ReportGenerationError # код 1004 — не удалось сгенерировать отчёт
    └── TripletAnalysisError  # код 1005 — извлечение графа знаний не удалось

Использование

python
from unihra import UnihraClient, UnihraError
from unihra.exceptions import CriticalOwnPageError, ParserError

client = UnihraClient(api_key="ВАШ_КЛЮЧ")

try:
    result = client.analyze(
        own_page="https://example.com",
        competitors=["https://comp.com"],
    )
except CriticalOwnPageError:
    print("Ваша страница недоступна. Проверьте URL и попробуйте снова.")
except ParserError as e:
    print(f"Не удалось разобрать страницу конкурента: {e}")
except UnihraError as e:
    print(f"Ошибка API: {e}")

Атрибуты UnihraApiError

python
try:
    result = client.analyze(...)
except UnihraApiError as e:
    print(e.code)     # int, например 1001
    print(e.message)  # str, человекочитаемое сообщение
    print(e.raw)      # dict, полный payload ошибки от API

Справочник кодов ошибок

КодИсключениеПричина
1001ParserErrorURL страницы не удалось загрузить или разобрать
1002AnalysisServiceErrorВнутренний сбой сервиса анализа
1003CriticalOwnPageErrorВаша страница вернула ошибку или недоступна
1004ReportGenerationErrorНе удалось скомпилировать итоговый отчёт
1005TripletAnalysisErrorИзвлечение графа знаний не удалось
9999UnihraApiErrorНеизвестная ошибка