1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 09:38:11 +00:00

js: Don't print last value after exception and return non-success

If in 'foo(); bar();' bar fails, we'd get the error of that and then
foo's return value - that's probably not something anyone expects.

Also make sure to return non-success so the process will exit with 1.
This commit is contained in:
Linus Groh 2021-03-18 18:35:58 +01:00 committed by Andreas Kling
parent 1ef0078b4c
commit cf127b745e

View file

@ -495,13 +495,16 @@ static bool parse_and_run(JS::Interpreter& interpreter, const StringView& source
}
vm->clear_exception();
};
if (vm->exception())
handle_exception();
if (s_print_last_result) {
if (vm->exception()) {
handle_exception();
return false;
}
if (s_print_last_result)
print(vm->last_value());
if (vm->exception())
handle_exception();
if (vm->exception()) {
return false;
handle_exception();
}
return true;
}