错误处理
用于统一进行 Lua 错误处理的便捷语法。
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 "尝试中" func 1, 2, 3
-- 使用if赋值模式if 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 "尝试中" func 1, 2, 3
-- 使用if赋值模式if success, result := try func 1, 2, 3catch err print yue.traceback err print result错误处理简化
Section titled “错误处理简化” try? 是 try 的功能简化语法,它不再返回 try 语句的布尔状态,并在成功时直接返回 try 代码块的结果,失败时返回 nil 值而非错误对象。
a, b, c = try? func!
-- 与空值合并运算符一起使用a = (try? func!) ?? "default"
-- 作为函数参数f try? func!
-- 带 catch 块的 try!f try? print 123 func!catch e print e ea, b, c = try? func!
-- 与空值合并运算符一起使用a = (try? func!) ?? "default"
-- 作为函数参数f try? func!
-- 带 catch 块的 try!f try? print 123 func!catch e print e e