From 5604bbbb80bfcedb4a9085b90864e221f8104b33 Mon Sep 17 00:00:00 2001 From: Li Jin Date: Wed, 28 May 2025 18:20:16 +0800 Subject: Added `try!` syntax. --- spec/inputs/try_catch.yue | 122 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 121 insertions(+), 1 deletion(-) (limited to 'spec/inputs') diff --git a/spec/inputs/try_catch.yue b/spec/inputs/try_catch.yue index 4e05bc6..f2583b7 100644 --- a/spec/inputs/try_catch.yue +++ b/spec/inputs/try_catch.yue @@ -62,6 +62,126 @@ f = -> do <- x local tb, a, b, c - f = -> try tb.f a, b, c + f1 = -> try tb.f a, b, c + + do + f1 = -> do + ok, ... = try func! + ... + + do + local func + a, b, c = try! func! + + do + a, b, c = try! func! + + do + a = (try! func!) ?? "default" + + do + f try! func! + + do + f try! + print 123 + func! + catch e + print e + e nil + +do + 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 + f1 = -> try tb.f a, b, c + + do + f1 = -> do + ok, ... = try func! + ... + + do + local func + a, b, c = try! func! + + do + a, b, c = try! func! + + do + a = (try! func!) ?? "default" + + do + f try! func! + + do + f try! + print 123 + func! + catch e + print e + e + +nil -- cgit v1.2.3-55-g6feb