patch 8.2.0424: checking for wrong return value

Problem:    Checking for wrong return value. (Tom)
Solution:   Invert the check and fix the test.
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index c830121..9157a1d 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -943,13 +943,20 @@
 enddef
 
 def Test_interrupt_loop()
+  let caught = false
   let x = 0
-  while 1
-    x += 1
-    if x == 100
-      feedkeys("\<C-C>", 'Lt')
-    endif
-  endwhile
+  try
+    while 1
+      x += 1
+      if x == 100
+        feedkeys("\<C-C>", 'Lt')
+      endif
+    endwhile
+  catch
+    caught = true
+    assert_equal(100, x)
+  endtry
+  assert_true(caught, 'should have caught an exception')
 enddef
 
 def Test_substitute_cmd()
diff --git a/src/version.c b/src/version.c
index 198c42a..166c1d4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    424,
+/**/
     423,
 /**/
     422,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 33b6430..9f829d6 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -487,7 +487,7 @@
 	{
 	    // Turn CTRL-C into an exception.
 	    got_int = FALSE;
-	    if (throw_exception("Vim:Interrupt", ET_INTERRUPT, NULL) != FAIL)
+	    if (throw_exception("Vim:Interrupt", ET_INTERRUPT, NULL) == FAIL)
 		goto failed;
 	    did_throw = TRUE;
 	}