我使用archlinux,并且默认情况下从pacman安装ntl。
我在代码中捕获InvMod错误时遇到问题,也许有人遇到相同的问题,现在可以解决此问题:
try {
Q = Q + p;
} catch (...) {
std::cout<<"error?";
return;
}
在+运算符中,我有模的逆,因为一切都在有限域内。
我收到此消息:
InvMod: inverse undefined
fish: 'and ./crypto' terminated by signal SIGABRT (Abort)
我想捕获此错误,因为我需要知道何时无法逆转某个点。任何人都知道如何在ntl :)中执行此操作吗?
最佳答案
根据documentation的说法,如果您希望它引发异常,而不仅仅是调用abort()
(当前似乎正在这样做),则需要使用NTL_EXCEPTIONS=on
对其进行配置。