exit by default on unhandled promise rejections (issue #305)

This commit is contained in:
Fabrice Bellard 2025-03-27 14:22:58 +01:00
parent dec4aca27a
commit d20ffec831
2 changed files with 5 additions and 4 deletions

8
qjs.c
View File

@ -274,7 +274,7 @@ void help(void)
"-d --dump dump the memory usage stats\n"
" --memory-limit n limit the memory usage to 'n' bytes\n"
" --stack-size n limit the stack size to 'n' bytes\n"
" --unhandled-rejection dump unhandled promise rejections\n"
" --no-unhandled-rejection ignore unhandled promise rejections\n"
"-q --quit just instantiate the interpreter and quit\n");
exit(1);
}
@ -292,7 +292,7 @@ int main(int argc, char **argv)
int empty_run = 0;
int module = -1;
int load_std = 0;
int dump_unhandled_promise_rejection = 0;
int dump_unhandled_promise_rejection = 1;
size_t memory_limit = 0;
char *include_list[32];
int i, include_count = 0;
@ -371,8 +371,8 @@ int main(int argc, char **argv)
load_std = 1;
continue;
}
if (!strcmp(longopt, "unhandled-rejection")) {
dump_unhandled_promise_rejection = 1;
if (!strcmp(longopt, "no-unhandled-rejection")) {
dump_unhandled_promise_rejection = 0;
continue;
}
if (opt == 'q' || !strcmp(longopt, "quit")) {

View File

@ -3961,6 +3961,7 @@ void js_std_promise_rejection_tracker(JSContext *ctx, JSValueConst promise,
if (!is_handled) {
fprintf(stderr, "Possibly unhandled promise rejection: ");
js_std_dump_error1(ctx, reason);
exit(1);
}
}