Promise: fixed the catch handler for Promise.prototype.finally().

By spec, the catch handler for the .finally() should always return an
exception.

The issue was introduced in 61bf7a31e685.
diff --git a/src/njs_promise.c b/src/njs_promise.c
index 41704c0..ee04f93 100644
--- a/src/njs_promise.c
+++ b/src/njs_promise.c
@@ -1023,7 +1023,11 @@
 njs_promise_catch_finally_function(njs_vm_t *vm, njs_value_t *args,
     njs_uint_t nargs, njs_index_t unused)
 {
-    return njs_promise_then_finally_function(vm, args, nargs, unused);
+    (void) njs_promise_then_finally_function(vm, args, nargs, unused);
+
+    njs_vm_retval_set(vm, njs_arg(args, nargs, 1));
+
+    return NJS_ERROR;
 }
 
 
diff --git a/test/js/promise_then_throw_finally_catch.js b/test/js/promise_then_throw_finally_catch.js
new file mode 100644
index 0000000..534154c
--- /dev/null
+++ b/test/js/promise_then_throw_finally_catch.js
@@ -0,0 +1,4 @@
+Promise.resolve()
+.then(() => {nonExsisting()})
+.finally(() => {})
+.catch(() => {console.log("Done")});
\ No newline at end of file
diff --git a/test/njs_expect_test.exp b/test/njs_expect_test.exp
index 3d51ace..22e0c4d 100644
--- a/test/njs_expect_test.exp
+++ b/test/njs_expect_test.exp
@@ -1044,3 +1044,6 @@
 
 njs_run {"./test/js/fs_promises_009.js"} \
 "test recursive fs.rmdirSync"
+
+njs_run {"./test/js/promise_then_throw_finally_catch.js"} \
+"Done"