Skip to content

Exception

正如在文章boost Lessons Learned from Specifying Exception-Safety for the C++ Standard Library 中所述:

“exception”已经“built-in to the core C++ language”。

在阅读cppreference中关于standard library的描述中,我们可以看到其中往往都有Exceptions说明,比如std::swap

在阅读More C++ IdiomsCopy-and-swap章节时,其中对Exception safety进行了详细的介绍。

所以对于c++ programming language,了解exception非常有必要。

关于exception,有多个方面的内容需要了解。

内容概述

Exception safety: C++是支持exception的,实现strong exception safety具有非常重要的意义,因此如何实现strong exception safety是C++中非常重要的一个topic。

cppreference Exceptions

When declaring a function, exception specifications and noexcept specifiers may be provided to limit the types of the exceptions a function may throw.

NOTE: exception specifications and noexcept specifiers 用来说明一个function可能抛出的exception。

Errors that arise during exception handling are handled by std::terminate and std::unexpected (until C++17).