aboutsummaryrefslogtreecommitdiff
path: root/spec/inputs/try_catch.yue
blob: 4e05bc62b53e19e7f1e0c1e281c15d1a2a104695 (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
f = ->
	try
		func 1, 2, 3
	catch err
		print err

	try func 1, 2, 3
	catch err
		print err

	try
		print "trying"
		func 1, 2, 3

	do
		success, result = try
			func 1, 2, 3
		catch err
			print err

		success, result = try func 1, 2, 3

	tb = {}

	try tb.func
	try tb.func!
	try tb.func()
	try (tb.func!)
	try (tb\func(1, 2, 3))

	try tb.func 1
	try tb.func(1)

	if (try func 1
	catch err
		print err)
		print "OK"

	if try (func 1)
	catch err
			print err
		print "OK"

	do
		if success, result := try func "abc", 123
			print result

		success, result = try func "abc", 123
		catch err
			print err

		print result if success, result := try func "abc", 123
		catch err
			print err

	do
		try
			func 1, 2, 3

		try func 1, 2, 3

	do
		<- x
		local tb, a, b, c
		f = -> try tb.f a, b, c

	nil