aboutsummaryrefslogtreecommitdiff
path: root/spec/outputs/try_catch.lua
blob: d4c80c19d22ac28966860117b535097ce87b067c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
local _anon_func_0 = function(tb)
	return tb.func
end
local _anon_func_1 = function(tb)
	return tb.func()
end
local _anon_func_2 = function(tb)
	return tb.func()
end
local _anon_func_3 = function(tb)
	return tb.func()
end
local _anon_func_4 = function(tb)
	return tb:func(1, 2, 3)
end
local _anon_func_5 = function(tb)
	return tb.func(1)
end
local _anon_func_6 = function(tb)
	return tb.func(1)
end
local _anon_func_7 = function(a, b, c, tb)
	return tb.f(a, b, c)
end
local f
f = function()
	xpcall(function()
		return func(1, 2, 3)
	end, function(err)
		return print(err)
	end)
	xpcall(function()
		return func(1, 2, 3)
	end, function(err)
		return print(err)
	end)
	pcall(function()
		print("trying")
		return func(1, 2, 3)
	end)
	do
		local success, result = xpcall(function()
			return func(1, 2, 3)
		end, function(err)
			return print(err)
		end)
		success, result = pcall(function()
			return func(1, 2, 3)
		end)
	end
	local tb = { }
	pcall(_anon_func_0, tb)
	pcall(_anon_func_1, tb)
	pcall(_anon_func_2, tb)
	pcall(_anon_func_3, tb)
	pcall(_anon_func_4, tb)
	pcall(_anon_func_5, tb)
	pcall(_anon_func_6, tb)
	if (xpcall(function()
		return func(1)
	end, function(err)
		return print(err)
	end)) then
		print("OK")
	end
	if xpcall(function()
		return func(1)
	end, function(err)
		return print(err)
	end) then
		print("OK")
	end
	do
		do
			local success, result = pcall(function()
				return func("abc", 123)
			end)
			if success then
				print(result)
			end
		end
		local success, result = xpcall(function()
			return func("abc", 123)
		end, function(err)
			return print(err)
		end)
		success, result = xpcall(function()
			return func("abc", 123)
		end, function(err)
			return print(err)
		end)
		if success then
			print(result)
		end
	end
	do
		pcall(function()
			return func(1, 2, 3)
		end)
		pcall(function()
			return func(1, 2, 3)
		end)
	end
	do
		x(function()
			local tb, a, b, c
			f = function()
				return pcall(_anon_func_7, a, b, c, tb)
			end
		end)
	end
	return nil
end