Vlastné chyby balíka dedia od RoundlyConsulting\Advertisements\Exceptions\AdvertisementException. Ceny, slugy a konfiguráciu overujú sesterské balíky, ktoré vyhadzujú vlastné typované výnimky:
| Výnimka | Kedy |
|---|---|
AdvertisementException | Základná trieda chýb balíka (RuntimeException) — celý povrch zachytíte jedným typom. |
InvalidTargeting | Do targeting sa priradila iná hodnota než Targeting alebo null. |
AdvertisementNotActive | for($ad)->track() pri reklame, ktorá práve nie je živá — koncept, naplánovaná, expirovaná či archivovaná reklama nič nezapočíta. |
AdvertisementNotInPlacement | for($ad)->track($placement) s umiestnením, v ktorom reklama nebeží — podvrhnutá či zastaraná URL kliku tak zóne nič nepripíše. |
InvalidMoneyValue | Do price sa priradilo niečo iné než Money|null alebo suma širšia než int64 na SQLite (money-for-laravel). |
CurrencyMismatch | Priradenie ceny v inej mene reklame, ktorá už cenu má — najprv nastavte currency (money-for-laravel). |
RoundingNecessary | fromDecimal() s viac desatinnými miestami, než mena dovoľuje (money-for-laravel). |
SlugAlreadyTakenException | Ručne zadaný slug umiestnenia alebo kategórie je už obsadený (sluggable-for-laravel). |
InvalidConfigurationException | Konfiguračná hodnota nesprávneho tvaru s názvom kľúča: kľúč modelu, ktorý nie je modelom z balíka ani jeho podtriedou, nerozpoznaná hodnota key_type, bool alebo match_when_unknown, reťazcové nastavenie s hodnotou, ktorá nie je reťazec, či chybná alebo prázdna responzívna šírka (package-toolkit-for-laravel). |
InvalidArgumentException | media.text_ad_view odkazuje na neexistujúci view. |
use RoundlyConsulting\Advertisements\DataTransferObjects\AdvertisementData;
use RoundlyConsulting\Advertisements\Exceptions\AdvertisementException;
use RoundlyConsulting\Advertisements\Models\Placement;
use RoundlyConsulting\Money\Exceptions\MoneyException;
use RoundlyConsulting\Sluggable\Exceptions\SlugAlreadyTakenException;
try {
$ad->targeting = ['countries' => ['SK']]; // not a Targeting instance
} catch (AdvertisementException $e) {
// InvalidTargeting — one catch covers the package's own errors
}
try {
AdvertisementData::fromDecimal(name: 'Bike', amount: '19.999'); // finer than a cent
} catch (MoneyException $e) {
// RoundingNecessary — money's errors share the MoneyException base
}
try {
Placement::query()->create(['name' => ['en' => 'Sidebar'], 'slug' => 'sidebar']);
} catch (SlugAlreadyTakenException $e) {
// a manual placement/category slug is never silently suffixed
}Výnimky balíka money dedia od RoundlyConsulting\Money\Exceptions\MoneyException; SlugAlreadyTakenException je v RoundlyConsulting\Sluggable\Exceptions a InvalidConfigurationException v RoundlyConsulting\PackageToolkit\Exceptions.
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.