Každá doménová výnimka rozširuje WorkflowsException (RuntimeException) s errorCode(): string, status(): int a context(): array — kód plus kľúč definície, uzol alebo inštanciu, ak sú známe, teda to, čo logger Laravelu pridá k záznamu; nikdy payload ani tajný údaj. Správy sú preložené (en, sk) a uvádzajú kľúče, id uzlov a krátke názvy, nikdy PHP triedu:
| Výnimka | errorCode() | status() | Kedy sa vyhodí |
|---|---|---|---|
UnknownDefinitionException | unknown_definition | 404 | Žiadna definícia s kľúčom v tomto rozsahu (správa rozsah uvedie) alebo žiadna webhook definícia s týmto id. |
NoVersionException | no_version | 404 | Skúšobný beh alebo export definície bez verzie, alebo neexistujúce číslo verzie. |
SubjectOwnerMismatchException | subject_owner_mismatch | 404 | Subjekt patrí inému vlastníkovi (existenciu nikdy nepotvrdí). |
DefinitionNotActiveException | definition_not_active | 409 | Spustenie vyradenej definície. |
DefinitionKeyTakenException | definition_key_taken / definition_key_trashed | 409 | Kľúč je pre vlastníka obsadený (aj mäkko zmazanou definíciou: obnovte ju). |
DraftConflictException | draft_conflict | 409 | edit() so zastaraným $expectedChecksum. |
NothingToPublishException | nothing_to_publish | 409 | publish() bez konceptu. |
PublishedVersionImmutableException | published_version_immutable | 409 | Zápis do zmrazeného stĺpca publikovanej verzie. |
TriggerMismatchException | trigger_mismatch | 409 | Spôsob spustenia nezodpovedá spúšťaču verzie (start() na definícii bez ručného spúšťača). |
InstanceNotRetryableException | instance_not_retryable | 409 | Opakovanie inštancie, ktorá nezlyhala na kroku. |
InstanceNotCancellableException | instance_not_cancellable | 409 | Zrušenie už ukončenej inštancie. |
InvalidGraphException | invalid_graph | 422 | Publikovanie (alebo uloženie konceptu) neplatného grafu; validationReport(); správa uvedie prvé tri problémy. |
InvalidTriggerInputException | invalid_trigger_input | 422 | Ručný vstup neprejde validáciou; errors(). |
InvalidDefinitionException | invalid_definition_key / definition_needs_subject | 422 | Kľúč mimo ^[a-z0-9][a-z0-9._-]{0,99}$; spustenie bez subjektu, ktorý definícia potrebuje. |
InvalidEventKeyException | invalid_event_key | 422 | Emitovaný kľúč mimo vzoru alebo interný kľúč s @. |
InvalidTemplateException | invalid_template | 422 | Payload importu, ktorý nie je platná šablóna. |
InvalidDiffException | invalid_diff | 422 | Porovnanie verzií dvoch rôznych definícií. |
MissingIdempotencyKeyException | missing_idempotency_key | 422 | Spustenie webhookom s prázdnym zdrojom kľúča. |
MissingTriggeringUserException | missing_triggering_user | 422 | Spustenie on_behalf_of bez používateľa. |
SubjectTypeMismatchException | subject_type_mismatch | 422 | Subjekt iného registrovaného typu, než má definícia. |
UnknownSubjectTypeException | unknown_subject_type / unregistered_subject_model | 422 | Neznámy kľúč typu subjektu (navrhne najbližší); model bez registrovaného typu. |
UnknownStepTypeException | unknown_step_type | 422 | Neznámy typ kroku (navrhne najbližší alebo uvedie balík, ktorý prepojený typ potrebuje). |
UnknownCalendarException | unknown_calendar | 422 | Neznámy kalendár (navrhne najbližší). |
BusinessCalendarNeverOpenException | calendar_never_open | 422 | V hľadanom okne nie je žiadny otvorený čas. |
StepAuthorizationDeniedException | authorization_denied | 403 | Autorizačný hook odmietol (so správou policy, ak nejakú má). |
DuplicateStepTypeException | duplicate_step_type | 500 | Iná trieda registruje existujúci kľúč kroku. |
InvalidStepTypeException | invalid_step_key / unsupported_schema_keyword / invalid_schema_pattern / not_a_step_type | 500 | Typ kroku, ktorý sa nedá zaregistrovať. |
InvalidWorkflowsConfigurationException (každá chyba konfigurácie) rozširuje PackageToolkitException z package-toolkit, nie WorkflowsException: je to chyba v kóde, nie HTTP odpoveď. Handlery vyhadzujú Steps\StepFailedException (trvalé) a Steps\RetryableStepException (opakuje sa). Vo vnútri kroku každá WorkflowsException ukončí krok natrvalo s vlastným kódom chyby.
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.