Исключения
Все исключения наследуются от 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Справочник кодов ошибок
| Код | Исключение | Причина |
|---|---|---|
| 1001 | ParserError | URL страницы не удалось загрузить или разобрать |
| 1002 | AnalysisServiceError | Внутренний сбой сервиса анализа |
| 1003 | CriticalOwnPageError | Ваша страница вернула ошибку или недоступна |
| 1004 | ReportGenerationError | Не удалось скомпилировать итоговый отчёт |
| 1005 | TripletAnalysisError | Извлечение графа знаний не удалось |
| 9999 | UnihraApiError | Неизвестная ошибка |