From 7167828a9d873156ad208d161cd1a2dc8ab78523 Mon Sep 17 00:00:00 2001 From: Li Jin Date: Mon, 21 Feb 2022 14:07:07 +0800 Subject: fixing issue #80. --- spec/inputs/try-catch.yue | 30 ++++++++++++++++++++++++++++++ spec/outputs/try-catch.lua | 27 +++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 spec/inputs/try-catch.yue create mode 100644 spec/outputs/try-catch.lua (limited to 'spec') diff --git a/spec/inputs/try-catch.yue b/spec/inputs/try-catch.yue new file mode 100644 index 0000000..ad8b1f0 --- /dev/null +++ b/spec/inputs/try-catch.yue @@ -0,0 +1,30 @@ +try + func 1, 2, 3 +catch err + print err + +success, result = try + func 1, 2, 3 +catch err + print err + +try func 1, 2, 3 +catch err + print err + +success, result = try func 1, 2, 3 + +try + print "trying" + func 1, 2, 3 + +try tb.func +try tb.func! +try tb.func() +try (tb.func!) + +try tb.func 1 +try tb.func(1) + +nil + diff --git a/spec/outputs/try-catch.lua b/spec/outputs/try-catch.lua new file mode 100644 index 0000000..25efda4 --- /dev/null +++ b/spec/outputs/try-catch.lua @@ -0,0 +1,27 @@ +xpcall(function() + return func(1, 2, 3) +end, function(err) + return print(err) +end) +local success, result = xpcall(function() + return func(1, 2, 3) +end, function(err) + return print(err) +end) +xpcall(func, function(err) + return print(err) +end, 1, 2, 3) +success, result = pcall(func, 1, 2, 3) +pcall(function() + print("trying") + return func(1, 2, 3) +end) +pcall(tb.func) +pcall(tb.func) +pcall(tb.func) +pcall((tb.func())) +pcall(tb.func, 1) +xpcall(tb.func, function(err) + return print(err) +end, 1) +return nil -- cgit v1.2.3-55-g6feb