Die error()-Funktion
Teil des Abschnitts Logik & 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 Ausführung des Skripts anhält.
Die Funktion error() nimmt eine Nachricht als Argument entgegen und stoppt das Programm, wobei sie diese Nachricht anzeigt, um anzugeben, was schiefgelaufen ist. Hier ist die grundlegende Syntax:
error("Something went wrong!")Dies ist besonders nützlich, wenn Funktionseingaben validiert werden. 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, stoppt das Programm sofort an dieser Stelle und zeigt deine benutzerdefinierte Fehlermeldung an. So kannst du Probleme frühzeitig erkennen und klar vermitteln, was went wrong ist, wodurch dein Code zuverlässiger und leichter zu debuggen wird.
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 & 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