Привет. Я использую QJSEngine для выполнения простых JS файлов. Я пробрасываю из C++ в JS функцию например execute(). Пример:
Javascript
var s = 'data'
execute(s) // наша C++ функция
C++:
C++ (Qt)
Q_INVOKABLE QJSValue Obj::execute(const QString &data)
{
// тут мы понимаем что data неправильная, и нужно кинуть exception
}
Как кинуть exception и прекратить выполнение JS скрипта? Да, можно просто возвращать ошибку и в JS проверять код возврата. Но решение с exception мне кажется красивее.