本节介绍的出错处理是ANSI-C++ 标准引入的新功能。如果你使用的C++ 编译器不兼容这个标准,则你可能无法使用这些功能。
在编程过程中,很多时候我们是无法确定一段代码是否总是能够正常工作的,或者因为程序访问了并不存在的资源,或者由于一些变量超出了预期的范围,等等。
这些情况我们统称为出错(例外),C++ 新近引入的三种操作符能够帮助我们处理这些出错情况: try, throw 和 catch 。
它们的一般用法是:
try {
// code to be tried
throw exception;
}
catch (type exception)
{
// code to be executed in case of exception
}
它们所进行的操作是:
- try 语句块中的代码被正常执行。如果有例外发生,代码必须使用关键字throw 和一个参数来扔出一个例外。这个参数可以是任何有效的数据类型,它的类型反映了例外的特征。
- 如果有例外发生,也就是说在try 语句块中有一个throw 指令被执行了,则catch 语句块会被执行,用来接收throw传来的例外参数。
例如:

本文介绍了C++的出错处理机制,特别是try、throw、catch操作符的使用。通过示例,阐述了如何处理未捕获的异常以及如何利用标准异常进行错误管理。当异常未被捕获时,程序会调用terminate函数导致非正常结束。此外,C++标准库中的函数可能会抛出std::exception或其子类的异常。
最低0.47元/天 解锁文章
882

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



