Try
A sintaxe para tratamento de erros do Lua em uma forma comum.
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 "trying" func 1, 2, 3
-- funcionando com padrão de atribuição em ifif 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 "trying" func 1, 2, 3
-- funcionando com padrão de atribuição em ifif success, result := try func 1, 2, 3catch err print yue.traceback err print resulttry? é um uso simplificado para sintaxe de tratamento de erros que omite o status booleano da instrução try, e retornará o resultado do bloco try quando tiver sucesso, retornando nil em vez do objeto de erro caso contrário.
a, b, c = try? func!
-- com operador de coalescência de nila = (try? func!) ?? "default"
-- como argumento de funçãof try? func!
-- com bloco catchf try? print 123 func!catch e print e ea, b, c = try? func!
-- com operador de coalescência de nila = (try? func!) ?? "default"
-- como argumento de funçãof try? func!
-- com bloco catchf try? print 123 func!catch e print e e