Každá výnimka rozširuje ImportsException (RuntimeException). Tie, ktoré poznajú HTTP, implementujú HttpExceptionInterface zo Symfony, takže handler Laravelu odpovie ich stavom a preloženou správou ({"message": …}) — žiadne globálne vykresľovanie sa neregistruje:
use RoundlyConsulting\Imports\Exceptions\{ImportAlreadyRunningException, ImportsException};
try {
$batch = Imports::for($team)->by($user)->session($id)->commit();
} catch (ImportAlreadyRunningException $e) {
$e->runningSessionId; // the session that holds the lock
} catch (ImportsException $e) {
// the base class — HTTP-aware ones render as {"message": …} with their status by themselves
}| Výnimka | Pomenované konštruktory / vlastnosti | HTTP |
|---|---|---|
ImportFileRejectedException | ::because(RejectionReason $reason, array $context = []); reason, context | 422 |
SheetNotFoundException | ::named(string|int $sheet, array $available); available | 422 |
InvalidMappingException | ::withErrors(array $errors); errors keyed columns.<column> / fields.<field>; render() → {message, errors} | 422 |
ImportModeNotSupportedException | ::mode(string $mode, string $importer) | 422 |
TooManySavedMappingsException | ::limit(int $limit), ::tooLarge() | 422 |
InvalidSavedMappingException | ::disabled(), ::invalidName(), ::unknownField(string), ::fieldTwice(string), ::empty() | 422 |
UnknownImporterException | ::key(string $key) | 404 |
ImportNotFoundException | ::session(), ::batch() | 404 |
ImportUnauthorizedException | ::operation(string $operation) | 403 |
ImportStateException | ::wrongStatus(string $status), ::stalePreview(), ::expired(), ::filePruned() | 409 |
UndoWindowClosedException | ::closed() | 409 |
ImportAlreadyRunningException | ::forSession(?string $runningSessionId); runningSessionId | 409 |
ImportRowException | ::because(string $message) — vyhodia ju vaše callbacky, aby zlyhal jeden riadok | — |
UnscopedQueryException | ::forModel(string $importer, string $model, string $why) | — |
InvalidImporterDefinitionException | ::because(string $importer, string $rule) | — |
InvalidImportsConfigurationException | ::invalidDuration(), ::invalidTable(), ::invalidValue(), ::notAnImplementation(), ::keyTypeMismatch(), ::missingTable() | — |
ImportRowException vyhadzujete vy z callbacku. UnscopedQueryException a InvalidImporterDefinitionException signalizujú importér, ktorý porušuje pravidlo; InvalidImportsConfigurationException uvedie chybný kľúč konfigurácie.
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.