禁用异常时如何使用boost json?

How to use boost json when exceptions are disabled?

提问人:pache 提问时间:11/8/2023 最后编辑:BoPpache 更新时间:11/8/2023 访问量:43

问:

我使用了一个不能使用异常的库。

我想在我的项目中使用 boost json。

我看到它可以毫无例外地工作,但我收到此错误:

/home/pache/Boost/boost_1_82_0/boost/json/detail/value_to.hpp:662:9: error: cannot use 'throw' with exceptions disabled
        throw;

我试图定义和使用,但这不起作用。BOOST_NO_EXCEPTIONS-fno-exceptions

我该怎么办?

C++ 异常 提升

评论

2赞 Alan Birtles 11/8/2023
看起来像一个错误,它在 1.83 中修复

答:

0赞 navaneeth mohan 11/8/2023 #1

在实现中有一个. 您可以使用 called 的非抛出版本。它返回一个可能包含也可能不包含值的 what。您必须验证返回的值是否包含值。value_toBOOST_STATIC_ASSERTvalue_totry_value_tostd::variantstd::variant

try_value_to文档 https://www.boost.org/doc/libs/master/libs/json/doc/html/json/ref/boost__json__try_value_to.html

value_to实施 https://www.boost.org/doc/libs/master/boost/json/value_to.hpp

评论

0赞 pache 11/9/2023
谢谢,当只包含标题时出现错误。它可以在 1.83 中工作。