patch 8.2.0287: Vim9: return in try block not tested; catch not tested

Problem:    Vim9: return in try block not tested; catch with pattern not
            tested.
Solution:   Add tests.  Make it work.
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index ac721a8..3212c3d 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -236,12 +236,40 @@
   endtry
 enddef
 
+def ReturnFinally(): string
+  try
+    return 'intry'
+  finally
+    g:in_finally = 'finally'
+  endtry
+  return 'end'
+enddef
+
 def Test_try_catch_nested()
   CatchInFunc()
   assert_equal('getout', g:thrown_func)
 
   CatchInDef()
   assert_equal('getout', g:thrown_def)
+
+  assert_equal('intry', ReturnFinally())
+  assert_equal('finally', g:in_finally)
+enddef
+
+def Test_try_catch_match()
+  let seq = 'a'
+  try
+    throw 'something'
+  catch /nothing/
+    seq ..= 'x'
+  catch /some/
+    seq ..= 'b'
+  catch /asdf/
+    seq ..= 'x'
+  finally
+    seq ..= 'c'
+  endtry
+  assert_equal('abc', seq)
 enddef
 
 let s:export_script_lines =<< trim END