aboutsummaryrefslogtreecommitdiff
path: root/spec/outputs/try_catch.lua
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2023-07-28 11:53:04 +0800
committerLi Jin <dragon-fly@qq.com>2023-07-28 11:53:04 +0800
commit5497775534d20ba06ab9c13bc4db1c5bee877513 (patch)
treebe68d03cf0928efca4a579125e4ba15ef3ab9325 /spec/outputs/try_catch.lua
parentf415df9617d251abd802257d9750618ccc71ca93 (diff)
downloadyuescript-5497775534d20ba06ab9c13bc4db1c5bee877513.tar.gz
yuescript-5497775534d20ba06ab9c13bc4db1c5bee877513.tar.bz2
yuescript-5497775534d20ba06ab9c13bc4db1c5bee877513.zip
fix xpcall usages in different Lua version.
Diffstat (limited to 'spec/outputs/try_catch.lua')
-rw-r--r--spec/outputs/try_catch.lua61
1 files changed, 61 insertions, 0 deletions
diff --git a/spec/outputs/try_catch.lua b/spec/outputs/try_catch.lua
new file mode 100644
index 0000000..129d412
--- /dev/null
+++ b/spec/outputs/try_catch.lua
@@ -0,0 +1,61 @@
1xpcall(function()
2 return func(1, 2, 3)
3end, function(err)
4 return print(err)
5end)
6xpcall(func, function(err)
7 return print(err)
8end, 1, 2, 3)
9pcall(function()
10 print("trying")
11 return func(1, 2, 3)
12end)
13do
14 local success, result = xpcall(function()
15 return func(1, 2, 3)
16 end, function(err)
17 return print(err)
18 end)
19 success, result = pcall(func, 1, 2, 3)
20end
21pcall(tb.func)
22pcall(tb.func)
23pcall(tb.func)
24pcall((tb.func))
25pcall(((function()
26 local _base_0 = tb
27 local _fn_0 = _base_0.func
28 return _fn_0 and function(...)
29 return _fn_0(_base_0, ...)
30 end
31end)()), 1, 2, 3)
32pcall(tb.func, 1)
33pcall(tb.func, 1)
34if (xpcall(func, function(err)
35 return print(err)
36end, 1)) then
37 print("OK")
38end
39if xpcall((func), function(err)
40 return print(err)
41end, 1) then
42 print("OK")
43end
44do
45 do
46 local success, result = pcall(func, "abc", 123)
47 if success then
48 print(result)
49 end
50 end
51 local success, result = xpcall(func, function(err)
52 return print(err)
53 end, "abc", 123)
54 success, result = xpcall(func, function(err)
55 return print(err)
56 end, "abc", 123)
57 if success then
58 print(result)
59 end
60end
61return nil