Try
Die Syntax für Fehlerbehandlung in Lua in einer gängigen Form.
try func 1, 2, 3catch err print yue.traceback err
success, result = try func 1, 2, 3catch err yue.traceback err
try func 1, 2, 3catch err print yue.traceback err
success, result = try func 1, 2, 3
try print "Versuche" func 1, 2, 3
-- Verwendung mit if-Zuweisungsmusterif success, result := try func 1, 2, 3catch err print yue.traceback err print resulttry func 1, 2, 3catch err print yue.traceback err
success, result = try func 1, 2, 3catch err yue.traceback err
try func 1, 2, 3catch err print yue.traceback err
success, result = try func 1, 2, 3
try print "Versuche" func 1, 2, 3
-- Verwendung mit if-Zuweisungsmusterif success, result := try func 1, 2, 3catch err print yue.traceback err print resulttry? ist eine vereinfachte Fehlerbehandlungs-Syntax, die den booleschen Status aus dem try-Statement weglässt. Bei Erfolg gibt sie das Ergebnis des try-Blocks zurück, ansonsten nil statt eines Fehlerobjekts.
a, b, c = try? func!
-- mit Nil-Verschmelzungs-Operatora = (try? func!) ?? "Standardwert"
-- als Funktionsargumentf try? func!
-- mit catch-Blockf try? print 123 func!catch e print e ea, b, c = try? func!
-- mit Nil-Verschmelzungs-Operatora = (try? func!) ?? "Standardwert"
-- als Funktionsargumentf try? func!
-- mit catch-Blockf try? print 123 func!catch e print e e