---
title: "Výnimky — Approvals for Laravel | Roundly"
description: "Jedna základná trieda ApprovalsException a osem konkrétnych výnimiek — čo ktorú spôsobí a ako ich zachytiť."
url: https://roundly-consulting.com/sk/open-source/navody/approvals-for-laravel/vynimky
language: sk
---

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

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

# Výnimky

Všetky výnimky balíka sú v RoundlyConsulting\\Approvals\\Exceptions a rozširujú ApprovalsException, ktorá je sama RuntimeException — jeden catch tak pokryje celú rodinu:

| Výnimka | Kedy vznikne |
| --- | --- |
| `ClosedApprovalRequestException` | Rozhodnutie alebo stiahnutie — approve, reject, toggle, ask či cancel — smeruje do uzavretej žiadosti (schválenej, zamietnutej, zrušenej či expirovanej), pripnutej cez within() aj vtedy, keď je otvorené neskoršie kolo, alebo preto, že všetky žiadosti subjektu sú uzavreté (for). Vlastnosť $request je táto žiadosť. |
| `IncompletePendingApprovalException` | Builder rozhoduje bez aktéra (missingActor) alebo bez schvaľovaného modelu (missingApprovable). |
| `InvalidApprovalModelException` | Nakonfigurovaná trieda modelu nerozširuje očakávaný základný model (forClass). |
| `InvalidApprovalRequestException` | Rozhodnutie — aj toggle() — alebo close() je pripojené k žiadosti iného subjektu (foreignSubject); builder žiadosti dostane from() aj stages() (mixedApprovers); workflow() nasleduje po from(), rule(), any(), quorum(), weighted(), stages() či continueOnRejection(), ktoré definuje šablóna (definedByWorkflow); ask() nasleduje po weight() (weightOnAsk); reject() po expirácii (expiryOnReject); cancel() po weight() či expirácii (settingsOnCancel); close() po because() (reasonOnClose) alebo po as(), weight() či expirácii (settingsOnClose); schvaľovateľ nie je uložený (unsavedApprover); žiadosť potrebuje viac schválení, než vymenuje schvaľovateľov (moreRequiredThanNamed); kvórum je menšie ako 1 (thresholdBelowOne) alebo ho schvaľovatelia nemôžu dosiahnuť (unreachableThreshold); žiadosť či stupeň, ktoré by ich pravidlo nikdy neschválilo, lebo nepotrebujú žiadne schválenie — napr. žiadosť bez menovaných schvaľovateľov pri predvolenom pravidle Unanimous (needsNoApprovals). |
| `InvalidDelegationException` | Delegovanie na seba (selfDelegation), obdobie, ktoré končí skôr, než začne (endsBeforeStart), alebo ApprovalDelegation::revoke($at) s časom v budúcnosti (futureRevocation). |
| `InvalidStatusTransitionException` | Nepovolený prechod stavu na modeli Approval (between), alebo close() s iným výsledkom než Cancelled či Expired — aj keď nie je otvorené žiadne kolo (notAClosingOutcome). |
| `UnauthorizedApprovalException` | Autorizačná Gate aktéra odmietne (forActor), alebo aktér nie je menovaným schvaľovateľom žiadosti či jej otvoreného stupňa ani zástupcom niektorého z nich (notAnApprover). |
| `UnknownWorkflowException` | Šablóna workflow chýba (named) alebo je chybná (invalid). |

```php
use RoundlyConsulting\Approvals\Exceptions\ApprovalsException;
use RoundlyConsulting\Approvals\Exceptions\ClosedApprovalRequestException;
use RoundlyConsulting\Approvals\Exceptions\UnauthorizedApprovalException;
use RoundlyConsulting\Approvals\Facades\Approvals;

try {
    Approvals::for($post)->as($user)->approve();
} catch (UnauthorizedApprovalException $e) {
    // the gate denied this actor, or the request does not name it
} catch (ClosedApprovalRequestException $e) {
    // the round is over — $e->request is the closed request
} catch (ApprovalsException $e) {
    // any other approvals error
}
```

Každú výnimku vytvára pomenovaná statická factory uvedená v zátvorke vyššie, čo sa hodí pri overovaní správ v testoch.

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