Fehler löst du mit error("text") aus und fängst sie mit pcall (protected call): Es liefert true, ergebnis oder false, fehlermeldung. Mit require lädst du Module (eine Datei gibt eine Tabelle zurück). Coroutinen (coroutine.create, resume, yield) sind pausierbare Abläufe, die sich in Spielen für Zeitabläufe eignen.
local ok, err = pcall(function()
error("kaputt!")
end)
print(ok, err) -- false ...kaputt!
local co = coroutine.create(function()
for i = 1, 3 do
coroutine.yield(i)
end
end)
print(coroutine.resume(co)) -- true 1
print(coroutine.resume(co)) -- true 2
-- datei: modul.lua -> return { hallo = function() print("hi") end }
-- local m = require("modul"); m.hallo()Merke
pcallfängt Fehler abrequirelädt ModuleCoroutinen pausieren mit
yield
Aufgabe
Fange mit pcall einen Fehler ab und gib die Meldung aus.