Zum Hauptinhalt springen

Ereignisse und Ausnahmen

Verwenden Sie Lebenszyklusereignisse für die Anwendungsintegration und Ausnahmetypen für die Wiederherstellung an einer Grenze, die den Fehler behandeln kann.

Lebenszyklusereignisse

EreignisÖffentliche DatenAuslösezeitpunkt
FeedStartingEventfeed, targetNach der Vorabprüfung von Speicher und Pfad, vor der Converter-Auflösung und dem Staging.
FeedFinishedEventfeed, target, path, pathsNachdem alle erzeugten Dateien erfolgreich veröffentlicht wurden.

$target enthält bei einer zielbezogenen Generierung den Zielschlüssel und bei einem normalen Feed null. FeedFinishedEvent::$paths enthält alle veröffentlichten Pfade in ihrer Reihenfolge. $path bleibt aus Kompatibilitätsgründen erhalten und enthält immer den ersten Pfad.

Eingabe- und Suchfehler

AusnahmeBedeutung
InvalidFeedArgumentExceptionEine Feed-ID in der Konsole ist ungültig.
FeedNotFoundExceptionFür die angeforderte Feed-ID existiert keine Registrierung.
InvalidExpressionExceptionEin Zeitplanausdruck ist ungültig.
UnknownFeedClassExceptionEine konfigurierte Feed-Klasse kann nicht aufgelöst werden.
UnexpectedClassExceptionEine aufgelöste Klasse erfüllt den erwarteten Vertrag nicht.

Die Zielauswahl verwendet SPL-Ausnahmen. Wenn --target angegeben wird, löst feed:generate eine InvalidArgumentException aus, wenn keine Feed-Registrierungs-ID angegeben wurde, ein Zielschlüssel leer ist oder der ausgewählte Feed HasFeedTargets nicht implementiert. Der Befehl löst eine UnexpectedValueException aus, wenn findTarget() null zurückgibt.

Serialisierungs- und Speicherfehler

AusnahmeBedeutung
InvalidCsvRowExceptionEine CSV-Zeile entspricht nicht dem festgelegten Spaltenschema.
InvalidCsvValueExceptionEin CSV-Feld kann nicht als skalarer Wert serialisiert werden.
InvalidXmlCDataExceptionEin CDATA-Wert ist ungültig.
InvalidXmlFragmentExceptionEin unformatiertes XML-Fragment ist ungültig.
UnsupportedStorageDiskExceptionDer ausgewählte Laravel-Datenträger wird nicht zu FilesystemAdapter aufgelöst.
OpenFeedExceptionEine Entwurfsressource kann nicht geöffnet werden.
WriteFeedExceptionDie vollständige Ausgabe kann nicht geschrieben werden.
CloseFeedExceptionDie Ausgaberessource kann nicht geschlossen werden.
ResourceMetaExceptionErforderliche Stream-Metadaten sind nicht verfügbar.
FeedGenerationExceptionDie Generierung ist für eine bestimmte Feed-Klasse fehlgeschlagen.

FeedGenerationException::getFeed() gibt die Feed-Klasse zurück. getFeedTarget() gibt bei einer zielbezogenen Generierung den Zielschlüssel und bei einem normalen Feed null zurück. Der ursprüngliche Fehler bleibt über getPrevious() verfügbar.

Fangen Sie Ausnahmen nur dort ab, wo die Anwendung Wiederherstellung oder verständlichen Kontext ergänzen kann. Nicht behebbare Generierungsfehler sollte Laravel melden.

Siehe auch