Showing the changes to libraries/script-engine/src/v8/ScriptValueV8Wrapper.cpp (1 of 5 files). Show all
Unified · Split
| @@ -102,15 +102,24 @@ ScriptValue ScriptValueV8Wrapper::call(const ScriptValue& thisObject, const Scri · 101 unmodified lines | |||
| 102 | auto maybeResult = v8Function->Call(_engine->getContext(), recv, args.length(), v8Args); | 102 | auto maybeResult = v8Function->Call(_engine->getContext(), recv, args.length(), v8Args); |
| 103 | lock.unlock(); | 103 | lock.unlock(); |
| 104 | if (tryCatch.HasCaught()) { | 104 | if (tryCatch.HasCaught()) { |
| 105 | qCDebug(scriptengine_v8) << "Function call failed: \"" << _engine->formatErrorMessageFromTryCatch(tryCatch); | 105 | QString errorMessage(QString("Function call failed: \"") + _engine->formatErrorMessageFromTryCatch(tryCatch)); |
| 106 | if (_engine->_manager) { | ||
| 107 | _engine->_manager->scriptErrorMessage(errorMessage); | ||
| 108 | } else { | ||
| 109 | qDebug(scriptengine_v8) << errorMessage; | ||
| 110 | } | ||
| 106 | } | 111 | } |
| 107 | v8::Local<v8::Value> result; | 112 | v8::Local<v8::Value> result; |
| 108 | Q_ASSERT(_engine == _value.getEngine()); | 113 | Q_ASSERT(_engine == _value.getEngine()); |
| 109 | if (maybeResult.ToLocal(&result)) { | 114 | if (maybeResult.ToLocal(&result)) { |
| 110 | return ScriptValue(new ScriptValueV8Wrapper(_engine, V8ScriptValue(_engine, result))); | 115 | return ScriptValue(new ScriptValueV8Wrapper(_engine, V8ScriptValue(_engine, result))); |
| 111 | } else { | 116 | } else { |
| 112 | //V8TODO Add more details | 117 | QString errorMessage("JS function call failed: " + _engine->currentContext()->backtrace().join("\n")); |
| 113 | qCWarning(scriptengine_v8) << "JS function call failed"; | 118 | if (_engine->_manager) { |
| 119 | _engine->_manager->scriptErrorMessage(errorMessage); | ||
| 120 | } else { | ||
| 121 | qDebug(scriptengine_v8) << errorMessage; | ||
| 122 | } | ||
| 114 | return _engine->undefinedValue(); | 123 | return _engine->undefinedValue(); |
| 115 | } | 124 | } |
| 116 | } | 125 | } |