---
title: "Výnimky — Coupons for Laravel | Roundly"
description: "Jedna hierarchia pod CouponException — zachyťte celý balík, každý dôvod, prečo kupón nemožno uplatniť, alebo každú príčinu zvlášť."
url: https://roundly-consulting.com/sk/open-source/navody/coupons-for-laravel/vynimky
language: sk
---

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

[Coupons for Laravel](https://roundly-consulting.com/sk/open-source/navody/coupons-for-laravel.md)

# Výnimky

Všetky výnimky sú v RoundlyConsulting\\Coupons\\Exceptions a dedia z CouponException, čo je RuntimeException, takže celý balík zachytíte jedným typom:

```
CouponException (RuntimeException)       — catch-all for the package
├── CouponNotFound                       ::forCode(string $code)
├── CouponCodeTaken                      ::forCode(string $code, ?Throwable $previous = null)
├── InvalidCouponDefinition              ::blankCode()
│                                        ::fixedWithoutCurrency(string $code)
│                                        ::percentOutOfRange(int $basisPoints)
│                                        ::negativeValue(int $value)
├── InvalidCouponConfiguration           ::invalidCharset(string $reason)  (+ bad coupons.code.length)
│                                        ::codeSpaceExhausted(int $attempts)
└── CouponNotRedeemable                  — catch-all for "cannot redeem"
    ├── CurrencyMismatch                 ::forCode(string $code, string $expected, string $actual)
    ├── MinimumSpendNotMet               ::forCode(string $code, Money $minimumSpend)
    ├── CouponExpired                    ::forCode(string $code)  (expired or not yet active)
    ├── CouponAtMaxUsage                 ::forCode(string $code)
    └── CouponAlreadyRedeemed            ::forCode(string $code)  (per-redeemer cap)
```

| Výnimka | Dedí z | Kedy sa vyhodí |
| --- | --- | --- |
| `CouponNotFound` | `CouponException` | Kódu nezodpovedá žiadny kupón — findOrFail(), preview(), redeem(), revoke(). check() namiesto toho vráti NotFound. |
| `CouponCodeTaken` | `CouponException` | Explicitný kód, ktorý už má nezmazaný kupón, v akejkoľvek veľkosti písmen — aj keď ho súbežná požiadavka obsadí medzi kontrolou a zápisom. |
| `InvalidCouponDefinition` | `CouponException` | Prázdny explicitný kód, pevná zľava bez meny, záporná pevná hodnota alebo percento mimo 0..10 000 bázických bodov. |
| `InvalidCouponConfiguration` | `CouponException` | Nepoužiteľné code.length alebo code.charset, route\_key či default\_currency, ktorý nie je reťazcom, prípadne vyčerpaný priestor kódov. Uvádza kľúč; hlásenie o code.charset abecedu nikdy nevypíše. |
| `CouponNotRedeemable` | `CouponException` | Základný typ pre každý dôvod, prečo kupón nemožno uplatniť. |
| `CurrencyMismatch` | `CouponNotRedeemable` | Kupón je uzamknutý na inú menu, než je mena ceny. |
| `MinimumSpendNotMet` | `CouponNotRedeemable` | Cena je pod minimálnou hodnotou nákupu. |
| `CouponExpired` | `CouponNotRedeemable` | Platnosť uplynula alebo ešte nie je aktívny. |
| `CouponAtMaxUsage` | `CouponNotRedeemable` | Celkový limit použití je vyčerpaný. |
| `CouponAlreadyRedeemed` | `CouponNotRedeemable` | Limit na zákazníka je vyčerpaný. |

## Chyby na úrovni peňazí

Niektoré chyby pochádzajú z money-for-laravel: RoundlyConsulting\\Money\\Exceptions\\CurrencyMismatch pri priamom volaní discountFor(), apply() alebo meetsMinimumSpend() s nezhodnou menou — odlišná od CurrencyMismatch balíka pri uplatnení — a ďalej AmountOverflow, InvalidMoneyValue a RoundingNecessary pri percente jemnejšom ako celé bázické body.

Coupons::prune() so záporným oknom vyhodí obyčajnú InvalidArgumentException, nie CouponException — okno v budúcnosti by zmazalo platné kupóny.

Texty výnimiek sú anglické a určené vývojárom, napr. „Coupon \[SAVE20\] is expired or not yet active.“ Pre texty pre zákazníkov použite Coupons::check(), pravidlo Redeemable alebo RedemptionFailureReason::translationKey().

## 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/coupons-for-laravel.md)
