C++ 异常处理全解析
1. 异常处理基础回顾
在 C++ 中,像 terminate() 、 abort() 和 set_terminate() 这类函数都来自标准库。虽然我们可以使用作用域解析运算符,如 std::terminate() 来调用它们,但这并非必要。需要注意的是,异常处理不能替代简单的程序员错误检查,因为异常处理的开销更大。异常处理应专门用于以统一的方式在一个公共位置处理更严重的程序错误。
2. 复杂异常处理示例
2.1 向外部处理程序传递异常
捕获的异常可以传递给外部处理程序进行处理,或者部分处理后再抛到外部作用域进一步处理。以下是一个示例代码:
// Assume Student class is as seen before, but with
// two additional member fns. Assume usual header files.
void Student::Validate() // defined as virtual in class def
{ // so derived classes may override
// check constructed student; see if standards are met
// if not, throw an exception
throw string("Does not meet
C++ 异常处理全面解析
超级会员免费看
订阅专栏 解锁全文
979

被折叠的 条评论
为什么被折叠?



