我有一个不抛出任何异常的成员函数,所以我在它的末尾附加了 throw()
后缀,表明它不会抛出任何异常。
我的问题是,在函数中我使用了几个std::string
,假设在std::string
的初始化过程中出现了错误,并抛出 bad_alloc
或 out_of_range
(或者 std::string 可能出错的任何其他问题)。
仍然添加 throw()
后缀是否仍然安全?
最佳答案
赫伯萨特 says那个
exception specifications confer a lot less benefit than they're worth
它带来的问题多于带来的好处。所以,在这样做之前你应该三思而后行。
关于c++ - 在包含 std::string 的函数上使用 throw() 后缀是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10261335/