---
title: "Výnimky a preklady — Requests for Laravel | Roundly"
description: "Jedna hierarchia RequestException s typovanými podtriedami a preložiteľnými správami v angličtine a slovenčine."
url: https://roundly-consulting.com/sk/open-source/navody/requests-for-laravel/vynimky
language: sk
---

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

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

# Výnimky a preklady

Všetky výnimky balíka dedia z RoundlyConsulting\\Requests\\Exceptions\\RequestException (RuntimeException), takže celú hierarchiu zachytíte naraz:

```php
use RoundlyConsulting\Requests\Exceptions\InvalidStatusTransition;
use RoundlyConsulting\Requests\Exceptions\RequestException;

try {
    Requests::approve($request, $alice);
} catch (InvalidStatusTransition $e) {
    $e->getMessage(); // 'Cannot transition a request from Rejected to Approved.'
} catch (RequestException $e) {
    // any other package exception
}
```

- InvalidStatusTransition — vyhodí ju ochrana, keď je zapnuté enforce\_transitions a prechod nie je povolený. Obsahuje $from a $to.
- RequestAlreadyResolved — vyhodí sa bez ohľadu na enforce\_transitions pri akcii, ktorú žiadosť nemôže prijať: akýkoľvek presun zo stavu Cancelled, čokoľvek okrem reopen() pri žiadosti Expired (vrátane cancel()), approve() / reject() po uzavretí schvaľovacieho kola a approve() / reject() pri žiadosti po termíne, ktorá najprv expiruje. Obsahuje $status.
- InvalidApprover — schvaľovateľ, ktorý nie je Eloquent model (samotné id), alebo deklarovaný schvaľovateľ, ktorý už neexistuje, keď znovu otvorená žiadosť obnovuje svoje kolo.

Vlastné výnimky schvaľovacieho enginu prechádzajú bez zmeny — najmä UnauthorizedApprovalException pre aktéra, ktorý nie je deklarovaný schvaľovateľ (alebo ktorému brána schvaľovania nepovolí reopen()), ClosedApprovalRequestException pre rozhodnutie priamo na žiadosti, ktorej kolo sa skončilo, a InvalidApprovalRequestException pre kolo, ktoré sa nedá otvoriť (neuložený schvaľovateľ, jednoduchý zoznam schvaľovateľov spolu so stages(), nedosiahnuteľné kvórum).

```php
use RoundlyConsulting\Requests\Exceptions\InvalidApprover;
use RoundlyConsulting\Requests\Exceptions\RequestAlreadyResolved;

try {
    Requests::approve($cancelledRequest, $alice);
} catch (RequestAlreadyResolved $e) {
    $e->status;   // Status::Cancelled — a cancelled request is final
}

Requests::make()->requireApprovalsFrom([$alice->id]);   // throws InvalidApprover — a bare id names no model type
```

## Preklady

Správy sú preložiteľné cez namespace requests::messages, ktorý sa načíta automaticky a obsahuje angličtinu aj slovenčinu — Laravel použije texty podľa jazyka aplikácie. Tagom requests-translations (lang/vendor/requests/{en,sk}/messages.php) ich publikujte, len ak chcete niektorú správu prepísať alebo pridať jazyk:

```php
// lang/vendor/requests/en/messages.php
return [
    'invalid_status_transition' => 'Cannot transition a request from :from to :to.',
    'request_already_resolved' => 'The request is already resolved (:status) and cannot be changed.',
    'approver_not_a_model' => 'An approver must be an Eloquent model, :type given: a bare id names no model type, so it could not be enforced.',
    'approver_missing' => 'The approval round cannot be reopened: approver :type #:id no longer exists.',
];
```

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