aboutsummaryrefslogtreecommitdiff
path: root/spec/outputs/try_catch.lua
blob: 3c3dd3c04dcfeb146678c6b553656ab086e230c1 (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
local _anon_func_0 = function(func, print)
	print("trying")
	return func(1, 2, 3)
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()
end
local _anon_func_5 = function(tb)
	return tb:func(1, 2, 3)
end
local _anon_func_6 = function(tb)
	return tb.func(1)
end
local _anon_func_7 = function(tb)
	return tb.func(1)
end
local f
f = function()
	xpcall(func, function(err)
		return print(err)
	end, 1, 2, 3)
	xpcall(func, function(err)
		return print(err)
	end, 1, 2, 3)
	pcall(_anon_func_0, func, print)
	do
		local success, result = xpcall(func, function(err)
			return print(err)
		end, 1, 2, 3)
		success, result = pcall(func, 1, 2, 3)
	end
	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)
	pcall(_anon_func_7, tb)
	if (xpcall(func, function(err)
		return print(err)
	end, 1)) then
		print("OK")
	end
	if xpcall((func), function(err)
		return print(err)
	end, 1) then
		print("OK")
	end
	do
		do
			local success, result = pcall(func, "abc", 123)
			if success then
				print(result)
			end
		end
		local success, result = xpcall(func, function(err)
			return print(err)
		end, "abc", 123)
		success, result = xpcall(func, function(err)
			return print(err)
		end, "abc", 123)
		if success then
			print(result)
		end
	end
	do
		pcall(func, 1, 2, 3)
		pcall(func, 1, 2, 3)
	end
	return nil
end