从用于cplusplus.com参考<exception>
并且对于<stdexcept>
,看来<exception>
是足够的例外用C ++处理98个或更高版本的C ++。
为什么C ++有两个用于处理异常的头文件?这如何影响我的发展?我应该使用哪个标题?
<stdexcept>
:定义一组标准异常,库和程序都可以使用这些异常来报告常见错误。
<exception>
:定义std::exception
由标准库的元素引发的所有异常的基类(即),以及帮助处理异常的几种类型和实用程序。
因此,<exception>
仅定义class std::exception
,而<stdexcept>
定义几个继承自std::exception
(例如std::logic_error
,std::out_of_range
)的类。这就是为什么<stdexcept>
include <exception>
。
它们位于单独的标头中,因为如果您要定义自己的异常类继承std::exception
(而不使用的类<stdexcept>
),则可以避免不必要的定义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句