Sobes.tech
Intern
23

Как доработать приложение, чтобы оно не падало при ошибке внешнего API?

Компании, где спрашивали
Т-БанкТ-Банк

Ответ от нейросети

sobes.tech AI

Чтобы приложение не падало при ошибке внешнего 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)
}