diff options
Diffstat (limited to 'spec/inputs/try_catch.yue')
-rw-r--r-- | spec/inputs/try_catch.yue | 122 |
1 files changed, 121 insertions, 1 deletions
diff --git a/spec/inputs/try_catch.yue b/spec/inputs/try_catch.yue index 4e05bc6..6c29a52 100644 --- a/spec/inputs/try_catch.yue +++ b/spec/inputs/try_catch.yue | |||
@@ -62,6 +62,126 @@ f = -> | |||
62 | do | 62 | do |
63 | <- x | 63 | <- x |
64 | local tb, a, b, c | 64 | local tb, a, b, c |
65 | f = -> try tb.f a, b, c | 65 | f1 = -> try tb.f a, b, c |
66 | |||
67 | do | ||
68 | f1 = -> do | ||
69 | ok, ... = try func! | ||
70 | ... | ||
71 | |||
72 | do | ||
73 | local func | ||
74 | a, b, c = try? func! | ||
75 | |||
76 | do | ||
77 | a, b, c = try? func! | ||
78 | |||
79 | do | ||
80 | a = (try? func!) ?? "default" | ||
81 | |||
82 | do | ||
83 | f try? func! | ||
84 | |||
85 | do | ||
86 | f try? | ||
87 | print 123 | ||
88 | func! | ||
89 | catch e | ||
90 | print e | ||
91 | e | ||
66 | 92 | ||
67 | nil | 93 | nil |
94 | |||
95 | do | ||
96 | try | ||
97 | func 1, 2, 3 | ||
98 | catch err | ||
99 | print err | ||
100 | |||
101 | try func 1, 2, 3 | ||
102 | catch err | ||
103 | print err | ||
104 | |||
105 | try | ||
106 | print "trying" | ||
107 | func 1, 2, 3 | ||
108 | |||
109 | do | ||
110 | success, result = try | ||
111 | func 1, 2, 3 | ||
112 | catch err | ||
113 | print err | ||
114 | |||
115 | success, result = try func 1, 2, 3 | ||
116 | |||
117 | tb = {} | ||
118 | |||
119 | try tb.func | ||
120 | try tb.func! | ||
121 | try tb.func() | ||
122 | try (tb.func!) | ||
123 | try (tb\func(1, 2, 3)) | ||
124 | |||
125 | try tb.func 1 | ||
126 | try tb.func(1) | ||
127 | |||
128 | if (try func 1 | ||
129 | catch err | ||
130 | print err) | ||
131 | print "OK" | ||
132 | |||
133 | if try (func 1) | ||
134 | catch err | ||
135 | print err | ||
136 | print "OK" | ||
137 | |||
138 | do | ||
139 | if success, result := try func "abc", 123 | ||
140 | print result | ||
141 | |||
142 | success, result = try func "abc", 123 | ||
143 | catch err | ||
144 | print err | ||
145 | |||
146 | print result if success, result := try func "abc", 123 | ||
147 | catch err | ||
148 | print err | ||
149 | |||
150 | do | ||
151 | try | ||
152 | func 1, 2, 3 | ||
153 | |||
154 | try func 1, 2, 3 | ||
155 | |||
156 | do | ||
157 | <- x | ||
158 | local tb, a, b, c | ||
159 | f1 = -> try tb.f a, b, c | ||
160 | |||
161 | do | ||
162 | f1 = -> do | ||
163 | ok, ... = try func! | ||
164 | ... | ||
165 | |||
166 | do | ||
167 | local func | ||
168 | a, b, c = try? func! | ||
169 | |||
170 | do | ||
171 | a, b, c = try? func! | ||
172 | |||
173 | do | ||
174 | a = (try? func!) ?? "default" | ||
175 | |||
176 | do | ||
177 | f try? func! | ||
178 | |||
179 | do | ||
180 | f try? | ||
181 | print 123 | ||
182 | func! | ||
183 | catch e | ||
184 | print e | ||
185 | e | ||
186 | |||
187 | nil | ||