gpt4 book ai didi

c++ - C++ 抛出装饰有什么用吗?

转载 作者:IT老高 更新时间:2023-10-28 22:34:43 25 4
gpt4 key购买 nike

我已经开始以统一的方式使用 C++ 异常,现在我希望编译器 (g++) 检查没有“异常泄漏”。 throw 装饰应该这样做,就像 const 对类方法的 constness 所做的那样。

好吧,它没有。

使用 throw 仍然是记录性的,但如果其他人认为函数不能抛出其文档中列出的异常之外的其他异常,甚至可能会产生危险的误导。

能否说服 g++ 对其抛出检查更加严格,即真正确保装饰为 throw() 的函数永远不会抛出任何东西。

编辑:找到 this question广泛处理这个主题。

最佳答案

它不检查编译时,但符合标准的编译器应在运行时确保它。

如果一个函数抛出了抛出声明之外的任何东西,如果我没记错的话,C++ 运行时应该调用 std::unexpected。

关于c++ - C++ 抛出装饰有什么用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1410226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com