Oops, an error occurred
„Oops, an error occurred! Code: xyz“ – Fehlermeldung verstehen und beheben
„Oops, an error occurred! Code: xyz“ ist eine Fehlermeldung, die in TYPO3 des Öfteren auftreten kann. Sie erscheint immer dann, wenn beispielsweise ein Plugin als Inhaltselement auf der Seite platziert wird, das Fehler erzeugt.
„Oops an error occured! Code: xyz“ – Vollständige Anzeige der Fehlermeldung
Die Fehlermeldung „Oops an error occured! Code: xyz“ wird in dieser Form nur in einer Produktivumgebung angezeigt. Dabei dient der angegebene Code als allgemeiner Platzhalter für alle möglichen auftretenden Fehler.
Der Grund dafür ist, dass eine aussagekräftige Fehlermeldung sensible Informationen enthält, die zum Beispiel von Hackern genutzt werden könnten, um das System anzugreifen.
In einer Testumgebung kann stattdessen eine aussagekräftige Fehlermeldung angezeigt werden. So können Entwickler die Ursache des Fehlers ermitteln und ihren Code debuggen. Die vollständige Anzeige der Fehlermeldung in der Testumgebung ist mithilfe folgender TypoScript-Anwendung möglich:
config.contentObjectExceptionHandler = 0
„Oops, an error occurred! Code: xyz“ – Wo wird die Fehlermeldung aufgezeichnet?
Erscheint der Hinweis „Oops, an error occurred! Code: xyz“ wird im Hintergrund des Systems eine entsprechende Fehlermeldung geloggt. Wo der Fehler aufgezeichnet wird, ist abhängig von der Konfiguration. Diese kannst du im TYPO3-Backend unter folgendem Pfad einsehen:
„Configuration“ > „GLOBALS[‚TYPO3_CONF_VARS‘] > „LOG“ > „writerConfiguration“
Mögliche Konfigurationen sind zum Beispiel:
FileWriter
Die Fehlermeldung wird in die folgende Datei geschrieben:
„typo3temp/var/logs/typo3_%s.log“
In neueren TYPO3-Versionen lautet der entsprechende Pfad folgendermaßen:
„var/logs/typo3_%s.log%
DatabaseWriter
Die Fehlermeldung wird in die Tabelle sys_log geschrieben und ihre Inhalte können im Backend im Log-Modul eingesehen werden.
NullWriter
Die Fehlermeldung wird verworfen. Dies kann hilfreich sein, um zu verhindern, dass die Datenbank oder das Dateisystem durch eine hohe Anzahl an Fehlermeldungen überlastet werden.
Falls du dich nicht in der Testumgebung befindest, in der dir zusätzliche Informationen zur Fehlermeldung „Oops, an error occured! Code: xyz“ bereitgestellt werden, sondern du die Anwendung in der Produktivumgebung nutzt, gibt es dennoch Möglichkeiten, herauszufinden, worin der Fehler liegt. Auch in diesem Fall solltest du einen Blick in die Datei werfen.
Eigene Exception Handler schreiben
Außerdem hast du die Möglichkeit, eigene ExceptionHandler zu schreiben. Dies ist zum Beispiel dann sinnvoll, wenn das Logging erweitert werden soll. Die PHP Klasse kann in TypoScript über page.exceptionHandler angegeben werden. Dabei muss die angegebene Klasse das folgende Interface implementieren: \TYPO3\CMS\Frontend\ContentObject\Exception\ExceptionHandlerInterface
Fazit
Egal, ob du ein Anfänger oder ein erfahrener TYPO3-Entwickler bist, es ist immer gut, deine TYPO3-Fehler- und Debugging-Skills zu verbessern, um qualitativ hochwertige und produktive Arbeit zu erhalten. Wir hoffen, wir konnten dir einige Tipps, Tricks und Tools zur Behandlung der Fehlermeldung „Oops, an error occured! Code: xyz“ geben!