Ausnahmen in der MediaWiki mit Details anzeigen

Unter Umständen kann es vorkommen, das die MediaWiki Software im Betrieb eine Ausnahme (Exception) wirft. Dann bekommt man eine Meldung nach dem Schema:

[6030c238] 2015-02-16 8:48:30: Fatal exception of type MWException

Diese Aussage ist natürlich zur Fehlerfindung nicht sehr aussagekräftig. Damit man eine ausführliche Ausgabe zur Exception bekommt, muss in der LocalSettings.php Datei folgende Option hinzugefügt werden:

$wgShowExceptionDetails=true;

Anschließend erhält man im Falle eine Exception einen sauberen Callstack, mit welchen man sich auf Fehlersuche begeben kann.

Exceptions?

Wenn in einem Programm ein Fehler auftritt, so wirft man in der Regel eine Exception (im Deutschen Ausnahme genannt). Damit kann der Programmierer den Fehler bearbeiten bzw. entsprechend auf ihn reagieren. Früher als es noch keine Exceptions gab, behielf man sich mit Rückgabecodes. Da gab es halt eine -1 wenn der Dateizugriff nicht funktioniert oder eine -2 wenn die Authentifikation fehlschlug.

tweetinvi.codeplex.com/documentation

tweetinvi.codeplex.com/documentation

Diese Rückgabecodes haben aber mehrere Nachteile. So muss der Programmierer den Code immer abfragen, vergisst er dies wird in der Verarbeitung einfach weiter verfahren – mit den entsprechenden Konsequenzen. Manchmal gibt es aber Programmierer, die Nutzen eine Sprache welche Exceptions unterstützt, nur um sie dann in ihrer Bibliothek in Statuscodes umzuwandeln. Die Twitterbibliothek Tweetinvi für C# macht genau dies. Anstatt für ein Problem eine Ausnahme auszulösen, wird das Problem versteckt. Und dann schreiben Sie in der Dokumentation auch noch, das Sie das nur getan haben um die Entwicklung zu erleichtern. Das ist wieder mal ein typischer Fall von “Bauschutt während der Entwicklung geraucht”.