GELÖST Exceptions aus vendor-Klasse "selbst" behandeln ?
Verfasst: 29.05.2021 13:04
EDIT 18:24 Hab es dann doch selber rausgefunden
--------------------------
Hallo ... ich schon wieder, aber diesmal nix REGEX sondern exception-Handling(von dem ich bisher auch quasi keine Ahnung habe
)
Insofern bitte ich falsche Terminolgie zu entschuldigen, da das eben auch noch Neuland für mich ist
Es geht um folgendes Problem:
Ich schreibe ein Script, welches eine fertige Klasse(via Composer eingebunden) nutzt und versuche nun herauszufinden, wie man die dort vorhandenen Exceptions selbst "abfangen/nutzen" kann, anstatt dass die genutzte Klasse ihren eigenen Fehler-Output ausgibt wie hier zu sehen.
[ externes Bild ]
Ich nehme jetzt mal ein ganz konkretes Beispiel ... es geht um die Ddeboer\Imap-Klasse
Dort gibt es für die server\authenticate-Methode eine "eigene" Exception namens
Ich würde also gerne diese Exception selbst behandeln, aber das hier scheint nicht zu funktionieren, da der Fehler ja offenbar schon in der genutzten Klasse behandelt wurde und gar nicht in meiner eigenen CATCH-Anweisung "landet"
Bin für jeden Hinweis dankbar ... vielleicht geht es ja sogar ganz einfach und man(ne) muss nur ein paar zusätzliche Tricks anwenden, um das zu lösen.
Danke im Voraus,
Manne

--------------------------
Hallo ... ich schon wieder, aber diesmal nix REGEX sondern exception-Handling(von dem ich bisher auch quasi keine Ahnung habe

Insofern bitte ich falsche Terminolgie zu entschuldigen, da das eben auch noch Neuland für mich ist

Es geht um folgendes Problem:
Ich schreibe ein Script, welches eine fertige Klasse(via Composer eingebunden) nutzt und versuche nun herauszufinden, wie man die dort vorhandenen Exceptions selbst "abfangen/nutzen" kann, anstatt dass die genutzte Klasse ihren eigenen Fehler-Output ausgibt wie hier zu sehen.
[ externes Bild ]
Ich nehme jetzt mal ein ganz konkretes Beispiel ... es geht um die Ddeboer\Imap-Klasse
Dort gibt es für die server\authenticate-Methode eine "eigene" Exception namens
Code: Alles auswählen
if (false === $resource || null !== $errorMessage) {
throw new AuthenticationFailedException(\sprintf(
'Authentication failed for user "%s"%s',
$username,
null !== $errorMessage ? ': ' . $errorMessage : ''
), $errorNumber);
}
Code: Alles auswählen
// Connect to the current server
try {
$imap_connection = $this->imapAccountsController->connect(
$imap_account['hostname'],
$imap_account['port'],
$imap_account['imap_open_flags'],
$imap_account['username'],
$imap_account['password']
);
} catch (AuthenticationFailedException $e) {
$output->writeln('<error>'.$e->getMessage().'</error>');
}
Danke im Voraus,
Manne