Die error()-Funktion
Teil des Abschnitts Logik und Programmablauf der Lua-Journey von Coddy. Lektion 32 von 54.
Manchmal muss dein Code sofort angehalten werden, wenn etwas schiefgeht. Lua stellt die Funktion error() bereit, um solche Situationen zu behandeln, indem sie einen Fehler auslöst und die Skriptausführung anhält.
Die Funktion error() nimmt eine Meldung als Argument entgegen und beendet das Programm. Dabei zeigt sie diese Meldung an, um anzugeben, was schiefgelaufen ist. Hier ist die grundlegende Syntax:
error("Something went wrong!")Dies ist besonders nützlich, wenn du Funktionseingaben validierst. Wenn eine Funktion beispielsweise eine positive Zahl erwartet, aber eine negative erhält, kannst du error() verwenden, um die weitere Ausführung zu verhindern:
function calculateSquareRoot(num)
if num < 0 then
error("Cannot calculate square root of a negative number")
end
return math.sqrt(num)
endWenn error() aufgerufen wird, wird das Programm sofort an dieser Stelle angehalten und zeigt deine benutzerdefinierte Fehlermeldung an. So kannst du Probleme frühzeitig erkennen und klar mitteilen, was schiefgelaufen ist. Dadurch wird dein Code zuverlässiger und lässt sich leichter debuggen.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik und Programmablauf
1Fortgeschrittene Tabelleniteration
Iterieren mit pairs()Iterieren mit ipairs()pairs() vs. ipairs()Zusammenfassung – Charakterbogen2Weitere Funktionen der Tabellenbibliothek
table.concat()Tabellenkonstruktion & unpack()table.sort()Eigene Sortierung mit FunktionenRückblick – Highscore-Tabelle3Fortgeschrittene Funktionskonzepte
Mehrere Werte zurückgebenVariadische Funktionen (...)Funktionen als Werte erster KlasseAnonyme FunktionenWas ist eine Closure?Rückblick – Einfacher Event-Handler6Fehlerbehandlung
Die error()-FunktionGeschützte Aufrufe mit pcall()Zusammenfassung – Sichere DivisionÜbe selbstständig: Online-Lua-Compiler