Aufbau einer Fehlermeldung anhand von PGELua... Friday, 25 December 2009 19:36

Wenn dem Lua-Interpreter etwas nicht passt, dann meckert er. Wie genau er das macht möchte ich am folgenden Beispiel von PGELua zeigen:

Error: ms0:/PSP/GAME/pgelua002/script.lua:9: bad argument #1 to 'drawline' (number expected, got nil) 

Die wichtigen Abschnitte sind hier jeweils in einer anderen Farbe markiert, damit man sie besser erklären kann. Vorweg sei gesagt, dass die Fehlermeldungen der Lua-Interpreter nicht alle 100% identisch sind, sondern im Detail schon voneinander abweichen können. Das ist aber nicht weiter tragisch, denn die Grundstruktur ist immer ähnlich, dasselbe gilt für die eigentlichen Meldungen, was genau falsch ist.

Wenn PGELua etwas nicht passt, dann spuckt er zuerst Error: aus. Dieses Schlüsselwort leitet die Fehlermeldung ein. Danach folgt mit ms0:/PSP/GAME/pgelua002/script.lua: der Pfad der Datei, in der der Fehler auftritt. Diese Darstellung muss nicht zwingend vorhanden sein. Meist wird aber zumindest der Dateiname dargestellt. Nach diesem Ausdruck folgt eine Zahl 9: , die wiederum immer enthalten ist in den Fehlermeldungen und zum Ausdruck bringt, in welcher Zeile sich der Fehler befindet. Danach bringt PGELua letztendlich die eigentliche Fehlermeldung, die beschreibt, was dem Lua-Interpreter nicht passt. Hier beginnt auch meistens die Verwirrung, da nicht immer klar ist, was mit diesem stichpunktartigen Satz gemeint ist. Mit der Meldung bad argument #1 to 'drawline' (number expected, got nil) meint der Lua-Interpreter, dass in der Funktion drawline() der 1. Parameter (#1) nicht richtig ist. Der Lua-Interpreter erwartet hier einen Zahlenwert (number), aber es wurde kein Wert übermittelt (got nil). Das kann der Fall sein, wenn man eben vergessen hat, den Parameter mitanzugeben, oder aber, wenn man einen Parameter in Form einer Variablen angegeben hat, dass diese Variable nicht existiert, also vorher nicht definiert wurde.

 
What's going on
Follow us on Twitter
Bumuckl at Youtube

Ecke links
Ecke links