NewsletterExceptionHandler

Hallo,

hat jemand ein Beispiel, oder Tip für mich, wie Exception-Handling bzgl. Newsletter funktioniert?

Das konkrete Problem ist, dass ich mitbekommen muss, wenn eine E-Mail Adresse aus dem Newsletter-Verteiler ausgetragen werden soll, die dort nicht registriert ist. Im Standard passiert da gar nichts (keine Fehlermeldung?).

Im core gibt es die Klasse Shopware\Core\Content\Newsletter\Exception\NewsletterRecipientNotFoundException. Vermutlich muss ich die für mein Plugin nutzen/anpassen. Mir fehlt gerade der Ansatz, wie und wo ich dass im Plugin implementieren muss. Ich habe bisher auch noch kein Beispiel dazu gefunden. Hat jemand einen Tip, der mir weiterhelfen könnte?

… hat echt niemand Erfahrung mit Exception-Handling in Shopware 6 ?

ich habe einen subscriber, der die An- und Abmeldungen vom Shop-Newsletter abfängt:

public static function getSubscribedEvents(): array
    {
        return [
            NewsletterUnsubscribeEvent::class => 'onNewsletterUnsubscribeEvent',
            NewsletterConfirmEvent::class => 'onNewsletterConfirmEvent',
        ];
    }

Wenn sich jemand über das Formular abmelden will und eine E-Mail Adresse angibt, die nicht in der Newsletter-Empfängerliste registriert ist, passiert nichts. Das Unsubscribe-Event feuert nur, wenn die Mail registriert ist. Sinnvoll wäre doch aber eigentlich eine Meldung „Diese E-Mail ist bei uns nicht registriert!“ o.ä. ?

So wie ich es verstanden habe, kann man dazu eine eigene Exception-Klasse machen und als Template \Core\Content\Newsletter\Exception\NewsletterRecipientNotFoundException verwenden ? Dazu habe ich leider nirgends ein Beispiel gefunden :thinking:. Wie muss man das konkret machen ? Ein Beispiel oder Link zur Doku, wo dass erklärt ist, würde mir weiter helfen.