diff --git a/src/globals.h b/src/globals.h
index 0a6b87a..74a7c39 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1616,7 +1616,7 @@
 EXTERN char e_invargval[]	INIT(= N_("E475: Invalid value for argument %s"));
 EXTERN char e_invargNval[]	INIT(= N_("E475: Invalid value for argument %s: %s"));
 #ifdef FEAT_EVAL
-EXTERN char e_invexpr2[]	INIT(= N_("E15: Invalid expression: %s"));
+EXTERN char e_invexpr2[]	INIT(= N_("E15: Invalid expression: \"%s\""));
 #endif
 EXTERN char e_invrange[]	INIT(= N_("E16: Invalid range"));
 #if defined(UNIX) || defined(FEAT_SYN_HL) || defined(FEAT_SPELL)
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 41063c5..2e9e056 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -1006,6 +1006,20 @@
   normal 0f{
   assert_equal([0, 0], searchpairpos('{', '', '}', '', 'col(".") > col'))
 
+  var lines =<< trim END
+      vim9script
+      setline(1, '()')
+      normal gg
+      def Fail()
+        try
+          searchpairpos('(', '', ')', 'nW', '[0]->map("")')
+        catch
+        endtry
+      enddef
+      Fail()
+  END
+  CheckScriptFailure(lines, 'E15:')
+
   bwipe!
 enddef
 
diff --git a/src/version.c b/src/version.c
index 70e02ed..e45d3be 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2857,
+/**/
     2856,
 /**/
     2855,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 39c36df..9aa93de 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -3131,7 +3131,8 @@
     s = skipwhite(s);
     trailing_error = *s != NUL;
 
-    if (expr_res == FAIL || trailing_error)
+    if (expr_res == FAIL || trailing_error
+				       || ga_grow(&cctx->ctx_instr, 1) == FAIL)
     {
 	if (trailing_error)
 	    semsg(_(e_trailing_arg), s);
@@ -3185,7 +3186,7 @@
 	    return FAIL;
 	++*argcount;
 
-	if (is_searchpair && *argcount == 5
+	if (is_searchpair && *argcount >= 5
 		&& cctx->ctx_instr.ga_len == instr_count + 1)
 	{
 	    isn_T *isn = ((isn_T *)cctx->ctx_instr.ga_data) + instr_count;
diff --git a/src/vim9execute.c b/src/vim9execute.c
index ae4142b..425cdb9 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -1295,6 +1295,9 @@
     // Start execution at the first instruction.
     ectx->ec_iidx = 0;
 
+    // Only catch exceptions in this instruction list.
+    ectx->ec_trylevel_at_start = trylevel;
+
     for (;;)
     {
 	isn_T	    *iptr;
@@ -4158,7 +4161,6 @@
     ga_init2(&ectx.ec_trystack, sizeof(trycmd_T), 10);
     ga_init2(&ectx.ec_funcrefs, sizeof(partial_T *), 10);
     ectx.ec_did_emsg_before = did_emsg_before;
-    ectx.ec_trylevel_at_start = trylevel;
 
     idx = argc - ufunc->uf_args.ga_len;
     if (idx > 0 && ufunc->uf_va_name == NULL)
