Oops, ich kann mit dem Fehler nichts anfangen… doch was tun?
Keine Panik – das ist garnicht so schlimm! Es gibt eine einfache Methode die Fehlermeldung wie z.B.: „Oops, an error occurred! Code: 2017042520255025e4885c“ zu debuggen.

Die eine Möglichkeit besteht darin die Log-Datei zu öffnen und darin nach dem Fehlercode zu suchen. Das sieht dann etwa so aus:

Unübersichtliche Log Datei in TYPO3

Unübersichtliche Log Datei in TYPO3

Die Datei findest du unter :

typo3temp/logs/typo3_[abc123].log

oder bei neueren TYPO3 Versionen unter:

typo3temp/var/logs/typo3_[abc123].log

Hier können wir herauslesen worum es sich handelt, aber besonders komfortabel ist diese Methode nicht.

Anpassung am TypoScript

Die bessere Wahl ist es, eine Einstellung im TypoScript zu setzen, um uns die Fehlermeldung optisch aufbereitet im Frontend/Backend auszugeben. Hierfür musst du im Seitentemplate folgende Einstellung vornehmen:


Wenn du die Ausgabe für alle Unterseiten aktivieren möchtest, nimmst du die Einstellung in deinem Haupt-Template vor, welches meistens auf der Root-Seite liegen sollte(Roter Rahmen). Alternativ kann man dies auch für Unterseiten einstellen indem ein Erweiterungs-Template erstellt wird.

Bearbeite also dein TypoScript Template und trage die Einstellung ein:

config.contentObjectExceptionHandler = 0

Rufst du nun die Seite mit dem Fehler erneut auf, erhälst du eine Sprechende Fehlermeldung. In meinem Fall habe ich einen Viewhelper im Template umbenannt um diesen Fehler zu provozieren (Screenshot aus TYPO3 8.7.1):

"TYPO3Fluid\Fluid\ViewHelpers\ImadgeViewHelper", however this class does not exist.

Die Fehlermeldung ist sprechend und gibt uns in diesem Fall einen Eindeutigen Hinweis wo das Problem liegt.
Auch wenn deine Fehlermeldung die gesamte Seite füllt und so aussieht wie auf diesem Screenshot, steht ganz oben meist eine Fehlermeldung die sich leicht deuten lässt. Unten ist dann ein Programmablauf um eventuell das Problem besser nachvollziehen zu können.

 

Zu guter Letzt noch ein kleiner Tipp:

Wenn du den ExceptionHandler auf 1 stellst aktivierst du die Standardeinstellung und im Frontend wird wieder „Oops, an error occurred!“ ausgegeben.

Diesen Text kannst du über eine weitere TypoScript-Einstellung anpassen:

config.contentObjectExceptionHandler = 1
config.contentObjectExceptionHandler.errorMessage = Oje, das hat nicht geklappt! %s

So kannst du verhindern das der Webseiten-Besucher eine Fehlerseite erhält die ihn verunsichert, und gleichzeitig kannst du den Text so anpassen, das er zu deiner Seite passt – vorausgesetzt er wird tatsächlich jemals ausgegeben.

Viel Erfolg beim Debuggen

Naderio | Thomas