---
title: "Výnimky — HTTP Client Rate Limits for Laravel | Roundly"
description: "Každá typovaná výnimka balíka, kedy nastane, a jedna základná trieda na zachytenie všetkých."
url: https://roundly-consulting.com/sk/open-source/navody/http-client-rate-limits-for-laravel/vynimky
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[HTTP Client Rate Limits for Laravel](https://roundly-consulting.com/sk/open-source/navody/http-client-rate-limits-for-laravel.md)

# Výnimky

Všetky výnimky sú v RoundlyConsulting\\HttpClientRateLimits\\Exceptions a rozširujú RateLimitException:

| Výnimka | Kedy nastane |
| --- | --- |
| `RateLimitException` | Základná trieda (rozširuje RuntimeException) — zachytíte ňou celú rodinu výnimiek nižšie. |
| `RateLimitExceededException` | Vypočítané čakanie prekročí strop maxWait() (pri zloženom limite najprísnejší zo všetkých okien). Obsahuje key, delayMs a maxWaitMs. |
| `JobReleasedException` | ReleaseDeferrer vrátil úlohu do fronty. Obsahuje delaySeconds, key a job; job middleware HandlesRateLimitRelease pokus čisto ukončí. |
| `InvalidLimitException` | Limit povoľuje menej ako jednu požiadavku za okno (rate alebo maxAttempts pod 1) alebo Http::rateLimit() dostane prázdne pole či položku poľa, ktorá nie je Limit, RateLimit, meno profilu ani celé číslo. |
| `UnknownLimiterProfileException` | Profil s daným menom nie je definovaný v limiters (alebo jeho položka tam nie je pole). |
| `InvalidStoreException` | Nakonfigurované úložisko neimplementuje kontrakt Store. |
| `InvalidDeferrerException` | Nakonfigurovaný deferrer neimplementuje Deferrer alebo releasingJob() / ReleaseDeferrer dostal úlohu bez metódy release(). |
| `InvalidTimespanException` | Reťazec okna — aj per v profile — nie je second, minute, hour ani day. |
| `UndefinedMethodException` | Metóda volaná na RateLimit neexistuje ani na Limit, ani na Limiter. |

## Zachytenie všetkých

```php
use RoundlyConsulting\HttpClientRateLimits\Exceptions\RateLimitException;

try {
    Http::rateLimit('github')->get('https://api.github.com/user');
} catch (RateLimitException $e) {
    // Any package error: unknown profile, max wait exceeded, invalid store/deferrer, …
    report($e);
}
```

V úlohe vo fronte s ReleaseDeferrer zachytí všeobecný catch aj JobReleasedException — a úloha je už späť vo fronte, takže pokus pokračuje, akoby požiadavka prebehla, a vrátená kópia sa neskôr spustí znova. Zachytávajte užšie alebo vrátenie najprv vyhoďte ďalej a pokus nechajte ukončiť HandlesRateLimitRelease:

```php
use RoundlyConsulting\HttpClientRateLimits\Exceptions\JobReleasedException;
use RoundlyConsulting\HttpClientRateLimits\Exceptions\RateLimitException;

try {
    Http::withMiddleware(RateLimits::releasingJob($this)->perMinute(60)->by('github'))->get($url);
} catch (JobReleasedException $released) {
    throw $released; // HandlesRateLimitRelease ends the attempt
} catch (RateLimitException $e) {
    // a real limit or setup failure
}
```

Niektoré chyby z tých istých volaní nie sú RateLimitException: InvalidConfigurationException z package-toolkit pri chybnej hodnote konfigurácie (pozrite Konfigurácia), LockTimeoutException od Laravelu, keď CacheStore nezíska zámok okna včas, RequestException vyhodená ďalej z callbacku pre handle(), ktorý volá ->throw(), a vlastné chyby backendu úložiska (chyby pripojenia k Redisu, databázové QueryException), ktoré sa šíria ďalej nezmenené.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/http-client-rate-limits-for-laravel.md)
