我应该使用__throw_logic_error吗?

时间:2011-09-15 13:01:34

标签: c++ exception

我偶然发现了一段使用函数std::__throw_logic_error抛出异常的代码。此函数在functexcept.h中声明,显然与throw logic_error(...)相同。有区别吗?功能是什么?什么时候,如果有的话,我应该更喜欢它吗?

谢谢。

2 个答案:

答案 0 :(得分:8)

不,不要使用它(除非你真的知道你在做什么)。它是实现的内部(因为所有__名称都是)。

答案 1 :(得分:6)

一般情况下,你不应该使用它。

名称开头的两个下划线表示它是一个特定于编译器的添加,可能它甚至不是用于“公共”使用,而是作为标准库内部的帮助(我怀疑它是支持例如使用库而没有例外,但我只是猜测)。

只需使用throw即可。