From cb0c62024dc5da81972767323574be07ae7a22fa Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Sun, 5 Mar 2023 14:22:06 +0100 Subject: [PATCH] Throw the right exception class, and add the thrown value to it --- libraries/script-engine/src/v8/ScriptEngineV8.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/script-engine/src/v8/ScriptEngineV8.cpp b/libraries/script-engine/src/v8/ScriptEngineV8.cpp index 229524973e..ef4ad1fff4 100644 --- a/libraries/script-engine/src/v8/ScriptEngineV8.cpp +++ b/libraries/script-engine/src/v8/ScriptEngineV8.cpp @@ -1020,7 +1020,7 @@ void ScriptEngineV8::setUncaughtException(const v8::TryCatch &tryCatch, const QS return; } - auto ex = std::make_shared(); + auto ex = std::make_shared(); ex->additionalInfo = info; v8::Locker locker(_v8Isolate); @@ -1036,6 +1036,10 @@ void ScriptEngineV8::setUncaughtException(const v8::TryCatch &tryCatch, const QS ex->errorMessage = QString(*utf8Value); + auto exceptionValue = tryCatch.Exception(); + ex->thrownValue = ScriptValue(new ScriptValueV8Wrapper(this, V8ScriptValue(this, exceptionValue))); + + v8::Local exceptionMessage = tryCatch.Message(); if (!exceptionMessage.IsEmpty()) { ex->errorLine = exceptionMessage->GetLineNumber(getContext()).FromJust();