Výnimky balíka sú v RoundlyConsulting\Options\Exceptions a dedia od abstraktnej OptionException, takže jeden catch zachytí všetky:
| Výnimka | Kedy vznikne |
|---|---|
InvalidOptionClassName | Kľúč nie je zaregistrovaný alebo trieda neimplementuje OptionInterface — aj pri neznámych položkách v config_overrides. |
InvalidOptionGroup | Trieda skupiny nie je OptionGroup alebo set() skupiny dostane identifikátor, ktorý do nej nepatrí. |
InvalidOptionObserver | Trieda observera nemá metódu __invoke. |
InvalidOptionPayload | JSON na import je neplatný alebo nie je pole, riadok nie je pole ani OptionPayload, alebo mu chýba textový key. |
InvalidOwnerModel | --owner v CLI nie je Eloquent model, chýba --owner-id alebo sa nenájde používateľ z --as. |
UnauthorizedOption | Riadenie prístupu zamietne čítanie alebo zápis. |
EncryptionNotSupported | encrypted() vracia true, ale castAs() vracia inštanciu castu namiesto reťazca. |
OptionException | Nikdy priamo — abstraktný základ všetkých výnimiek vyššie. |
use RoundlyConsulting\Options\Exceptions\OptionException;
use RoundlyConsulting\Options\Exceptions\UnauthorizedOption;
try {
Options::set(MaintenanceModeOption::class, true);
} catch (UnauthorizedOption $e) {
abort(403);
} catch (OptionException $e) {
report($e); // any other options error
}Z frameworku
- Illuminate\Validation\ValidationException — hodnota nesplní rules() nastavenia.
- Illuminate\Contracts\Encryption\DecryptException — šifrový text bol pozmenený alebo sa zmenil APP_KEY.
- RoundlyConsulting\PackageToolkit\Exceptions\InvalidConfigurationException — hodnota v konfigurácii je neplatná: options.model nie je Option ani jeho podtrieda, neznámy key_type, prepínač, ktorý nie je boolean, cache.ttl, ktoré nie je celé číslo aspoň 1, alebo cache.store, cache.prefix či cache.tag, ktoré nie je reťazcom. Správa uvádza názov kľúča.
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 kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
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.