Russian Qt Forum

Qt => Общие вопросы => Тема начата: Alex Custov от Октябрь 17, 2017, 12:03



Название: QJSEngine: Как остановить выполнение JS из C++
Отправлено: Alex Custov от Октябрь 17, 2017, 12:03
Привет. Я использую 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 мне кажется красивее.