Sobes.tech
Intern

Comment améliorer l'application pour qu'elle ne plante pas en cas d'erreur de l'API externe?

sobes.tech IA

Réponse de l'IA

Чтобы приложение не падало при ошибке внешнего API, нужно реализовать обработку ошибок и механизмы устойчивости:

  • Использовать блоки try/catch (или аналогичные конструкции) для перехвата исключений при вызове API.
  • Добавить таймауты и повторные попытки (retry) с экспоненциальной задержкой.
  • Использовать fallback-логику: например, возвращать кэшированные данные или дефолтные значения.
  • Логировать ошибки для последующего анализа.
  • При необходимости применять circuit breaker — чтобы при частых ошибках временно отключать вызовы к проблемному API.

Пример на Go с обработкой ошибки и retry:

func callExternalAPI() (string, error) {
    var result string
    var err error
    for i := 0; i < 3; i++ { // три попытки
        result, err = doRequest()
        if err == nil {
            return result, nil
        }
        time.Sleep(time.Duration(i*i) * time.Second) // экспоненциальная задержка
    }
    return "", fmt.Errorf("failed after retries: %w", err)
}