patch 8.2.0280: Vim9: throw in :def function not caught higher up

Problem:    Vim9: throw in :def function not caught higher up.
Solution:   Set "need_rethrow".
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 899a32a..ae33935 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -206,6 +206,34 @@
   assert_equal(['1', 'wrong', '3'], l)
 enddef
 
+def ThrowFromDef()
+  throw 'getout'
+enddef
+
+func CatchInFunc()
+  try
+    call ThrowFromDef()
+  catch
+    let g:thrown_func = v:exception
+  endtry
+endfunc
+
+def CatchInDef()
+  try
+    ThrowFromDef()
+  catch
+    g:thrown_def = v:exception
+  endtry
+enddef
+
+def Test_try_catch_nested()
+  CatchInFunc()
+  assert_equal('getout', g:thrown_func)
+
+  CatchInDef()
+  assert_equal('getout', g:thrown_def)
+enddef
+
 let s:export_script_lines =<< trim END
   vim9script
   let name: string = 'bob'