---
title: "Výnimky — Reports for Laravel | Roundly"
description: "Typované výnimky balíka — všetky rozširujú ReportsException — a kontext, ktorý každá z nich nesie."
url: https://roundly-consulting.com/sk/open-source/navody/reports-for-laravel/vynimky
language: sk
---

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

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

# Výnimky

Každá výnimka balíka rozširuje ReportsException, ktorá je sama RuntimeException, takže ich môžete zachytávať jednotlivo aj spolu:

| Výnimka | Kedy vznikne | Nesie |
| --- | --- | --- |
| `DuplicateReportException` | prevent\_duplicates zablokuje opakované hlásenie. | existing |
| `InvalidStatusTransitionException` | Presun stavu — changeStatus(), review(), close(), changeStatusTo(), resolve alebo reject — nie je deklarovaný a strict\_transitions je zapnuté. | report, from, to |
| `UnknownReportReasonException` | Dôvod nie je v zozname povolených a allow\_unknown\_reasons je false. | slug, allowed |
| `MissingModeratorsException` | Reports::moderate(...)->open() sa zavolá bez moderátorov. | — |
| `ModerationNotAllowedException` | Reports::moderate(...)->open() sa zavolá na vybavené hlásenie alebo hlásenie s čakajúcou žiadosťou o moderáciu. Nič sa neotvorí. | report |
| `ModeratorRequiredException` | Hlásenie pod moderáciou sa pokúsi vyriešiť, zamietnuť alebo presunúť z otvorených stavov niekto iný než určený moderátor (alebo jeho zástupca), prípadne volanie bez aktéra. Nič sa nezapíše. | report, actor |
| `MissingPruneWindowException` | Reports::prune() sa spustí bez $days a bez prune\_after\_days. | — |
| `ReportsException` | Základná trieda všetkých vyššie; rozširuje RuntimeException. | — |

```php
use RoundlyConsulting\Reports\Exceptions\ReportsException;
use RoundlyConsulting\Reports\Exceptions\UnknownReportReasonException;

try {
    Reports::report($post)->by($user)->for($slug)->create();
} catch (UnknownReportReasonException $e) {
    $e->slug;     // the rejected slug
    $e->allowed;  // list<string> — the allowed slugs
} catch (ReportsException $e) {
    // any other package exception, e.g. DuplicateReportException
}
```

Vytvorenie hlásenia bez subjektu — PendingReport začatý cez Reports::from() bez about() — alebo na neuložený subjekt či od neuloženého nahlasovateľa vyhodí obyčajnú LogicException a nič sa nezapíše.

Dve chyby pochádzajú z balíkov pod ním a ReportsException nerozširujú: neplatná konfiguračná hodnota — threshold, prune\_after\_days, predvolené hodnoty moderácie, duplicate\_scope, table, reasons, key\_type, primary\_key\_type či model (pozrite Konfigurácia) — vyhodí InvalidConfigurationException z balíka toolkit a otvorenie moderácie s neuloženým moderátorom alebo s kvórom vyšším než počet moderátorov vyhodí InvalidApprovalRequestException z enginu approvals.

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