аддон для NodeJS. Большинство функций и методов это библиотеки кидают lib::runtime_exception и если я их явно не буду ловить и оборачивать в Napi::Error, то в JS ошибка не пробрасывается и программа крашится. Получается дофига конструкция типа:
try {
lib::doSmthOrFail();
} catch (const lib::runtime_exception& err){
throw Napi::Error::New(env, err.what());
}
Как это всё красиво оборачивать без повторяющегося кода и макросов?
Я думал сделать темплейтную функцию, в которую я передаю обьекты, указатели на методы и параметры а она их вызывает и оборачивает ошибки.
Но часто изза того что в библиотеке методы имеют перегрузки приходится делать огромные тайпдефы
using FooMethod = void (lib::cls::*)(const std::string&, lib::cls::id_type, lib::cls::id_type);
const FooMethod{&lib::cls::foo};
Только страдать...
Лямбды передавац
Макрос подходит
Обсуждают сегодня