stdexcept vs c ++中的异常标头

克里希纳·奥扎(Krishna Oza)

从用于cplusplus.com参考<exception>并且对于<stdexcept>,看来<exception>是足够的例外用C ++处理98个或更高版本的C ++。

为什么C ++有两个用于处理异常的头文件?这如何影响我的发展?我应该使用哪个标题?

101010
  • <stdexcept>:定义一组标准异常,库和程序都可以使用这些异常来报告常见错误。

  • <exception>:定义std::exception由标准库的元素引发的所有异常的基类(即),以及帮助处理异常的几种类型和实用程序。

因此,<exception>仅定义class std::exception,而<stdexcept>定义几个继承自std::exception(例如std::logic_errorstd::out_of_range)的类。这就是为什么<stdexcept>include <exception>

它们位于单独的标头中,因为如果您要定义自己的异常类继承std::exception(而不使用的类<stdexcept>),则可以避免不必要的定义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章