0

我使用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 :) 中做到这一点?

4

1 回答 1

2

根据文档,如果您希望它抛出异常而不是仅仅调用abort()- 它目前似乎正在这样做 - 您需要配置它NTL_EXCEPTIONS=on

于 2016-01-03T15:27:06.920 回答