Я хочу встроить python в свое приложение на С++. Я использую библиотеку Boost - отличный инструмент. Но у меня одна проблема.
Если функция python генерирует исключение, я хочу поймать его и распечатать ошибку в своем приложении или получить некоторую подробную информацию, такую как номер строки в python script, которая вызвала ошибку.
Как я могу это сделать? Я не могу найти какие-либо функции для получения подробной информации об исключениях в API Python или Boost.
try {
module=import("MyModule"); //this line will throw excetion if MyModule contains an error
} catch ( error_already_set const & ) {
//Here i can said that i have error, but i cant determine what caused an error
std::cout << "error!" << std::endl;
}
PyErr_Print() просто печатает текст ошибки в stderr и очищает ошибку, поэтому он не может быть решением