---
title: "Výnimky — Enums for Laravel | Roundly"
description: "EnumException — vyhodia ju vyhľadávanie, random(), validationRule(), untranslated() a neplatné skupiny popisov — rozširuje InvalidArgumentException."
url: https://roundly-consulting.com/sk/open-source/navody/enums-for-laravel/vynimky
language: sk
---

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

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

# Výnimky

fromName() a fromLabel() vyhodia RoundlyConsulting\\Enums\\Exceptions\\EnumException, keď žiadny prípad nezodpovedá; random() ju vyhodí na enume bez prípadov, validationRule() pri hodnote, ktorú nevie zapísať do pravidla in: tak, aby sa prečítala späť bez zmeny, a untranslated() na enume bez #\[TranslatedLabels\]. Neplatnú skupinu v #\[TranslatedLabels\] nahlási readable() — a teda každá metóda s popismi — pri prvom použití. Výnimka rozširuje InvalidArgumentException z PHP, takže ju zachytíte oboma spôsobmi:

```php
use RoundlyConsulting\Enums\Exceptions\EnumException;

try {
    NewsCategory::fromName('Breaking');
} catch (EnumException $e) {
    $e->getMessage();
    // "No case named [Breaking] exists on enum [App\Enums\NewsCategory]."
}

try {
    NewsCategory::fromLabel('Breaking News');
} catch (InvalidArgumentException $e) {
    // EnumException extends InvalidArgumentException, so this catches it too
}
```

Má šesť pomenovaných konštruktorov:

| Pomenovaný konštruktor | Vyhodí ju | Správa |
| --- | --- | --- |
| `EnumException::nameNotFound(string $enum, string $name)` | `fromName()` | No case named \[{name}\] exists on enum \[{enum}\]. |
| `EnumException::labelNotFound(string $enum, string $label)` | `fromLabel()` | No case with label \[{label}\] exists on enum \[{enum}\]. |
| `EnumException::noCases(string $enum)` | `random()` | Enum \[{enum}\] has no cases. |
| `EnumException::valueNotRepresentable(string $enum, string $value)` | `validationRule()` | Value \[{value}\] of enum \[{enum}\] cannot be written into an in: rule that reads back unchanged; validate it with Rule::enum() instead. |
| `EnumException::invalidLabelGroup(string $enum, string $group)` | readable() — teda každá metóda s popismi — a untranslated() | Enum \[{enum}\] declares an invalid #\[TranslatedLabels\] group \[{group}\]: a group must not be blank or start or end with whitespace, '.' or ':'. |
| `EnumException::labelsNotTranslated(string $enum)` | `untranslated()` | Enum \[{enum}\] has no #\[TranslatedLabels\] attribute, so it has no translation keys to check. |

EnumException zámerne nie je final, takže ju môžete rozšíriť. Pri vstupe od používateľov uprednostnite varianty tryFrom\* spolu s validáciou a from\* si nechajte pre dôveryhodné dáta, kde je nenájdenie chybou, o ktorej sa chcete dozvedieť.

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