У меня есть сценарий Perl, который использует библиотеку C ++, которая, вероятно, обернута с помощью xs.
Когда библиотека выдает исключение, она ломает мой Perl-скрипт, даже когда вызывается изнутри eval
,
Как я могу пропустить исключение и предотвратить сбой моего скрипта?
terminate called after throwing an instance of 'blaException'
what(): blablabla.cpp:202: Failed to bla
Abort trap: 6 (core dumped)
Версия Perl v5.12.4
Ты не можешь Дамп ядра фатален, поэтому на этом этапе игра окончена. Правильным решением было бы убедиться, что код не падает, но если у вас нет контроля над этой библиотекой C ++, это будет сложно.
Возможно, есть возможность обойти эту проблему, разветвив сценарий перед вызовом библиотеки, а затем перезапустив его, если он произойдет сбой, но это не решение, которое я когда-либо рассматривал в своей работе.