Как перехватить и обработать фатальную ошибку при вызове Py_Initialize() в CPython

Программы на Python
Ответить
Anonymous
 Как перехватить и обработать фатальную ошибку при вызове Py_Initialize() в C

Сообщение Anonymous »

Я встраиваю Python в C, и в начале моего кода у меня есть что-то вроде ниже. Все работает нормально, пока пользователь случайно не удалил папку python33. Это приводит к тому, что Py_Initialize() выдает фатальную ошибку с надписью «Неустранимая ошибка Python: Py_Initialize: невозможно загрузить кодек файловой системы». Затем мое приложение аварийно завершилось. Я пытался использовать try{}catch(...) для обнаружения ошибок такого рода, но, похоже, это не сработало. Интересно, есть ли какой-нибудь способ изящно поймать и справиться с этим?

try
{
if(!Py_IsInitialized())
{
Py_Initialize();
}
}
catch(...)
{
std::out

Подробнее здесь: https://stackoverflow.com/questions/386 ... alize-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»