diff options
author | Li Jin <dragon-fly@qq.com> | 2023-07-28 11:53:04 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2023-07-28 11:53:04 +0800 |
commit | 5497775534d20ba06ab9c13bc4db1c5bee877513 (patch) | |
tree | be68d03cf0928efca4a579125e4ba15ef3ab9325 /spec/outputs/try_catch.lua | |
parent | f415df9617d251abd802257d9750618ccc71ca93 (diff) | |
download | yuescript-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.lua | 61 |
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 @@ | |||
1 | xpcall(function() | ||
2 | return func(1, 2, 3) | ||
3 | end, function(err) | ||
4 | return print(err) | ||
5 | end) | ||
6 | xpcall(func, function(err) | ||
7 | return print(err) | ||
8 | end, 1, 2, 3) | ||
9 | pcall(function() | ||
10 | print("trying") | ||
11 | return func(1, 2, 3) | ||
12 | end) | ||
13 | do | ||
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) | ||
20 | end | ||
21 | pcall(tb.func) | ||
22 | pcall(tb.func) | ||
23 | pcall(tb.func) | ||
24 | pcall((tb.func)) | ||
25 | pcall(((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 | ||
31 | end)()), 1, 2, 3) | ||
32 | pcall(tb.func, 1) | ||
33 | pcall(tb.func, 1) | ||
34 | if (xpcall(func, function(err) | ||
35 | return print(err) | ||
36 | end, 1)) then | ||
37 | print("OK") | ||
38 | end | ||
39 | if xpcall((func), function(err) | ||
40 | return print(err) | ||
41 | end, 1) then | ||
42 | print("OK") | ||
43 | end | ||
44 | do | ||
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 | ||
60 | end | ||
61 | return nil | ||