C++语言程序设计

下面的例子为我们演示了如何使用例外处理流错误：

| 程序12-22

#include "iostream.h"
void main()
{
int a=5;
try
{
cout.exceptions(ios::failbit);
cout<<"a="<<a<<endl;
}
catch(ios_base::failure& excep)
{
cerr<<excep.what()<<endl;
}
}

在try模块里cout调用exceptions()抛出一个例外，使catch模块里的程序能够执行，这一步仅仅是为了测试之用。
例外处理是C＋＋语言的一个新特征，它提出了出错处理更完美的方法，并使出错处理程序和主代码分离，从而简化了出错处理程序的编写。例外处理的一般格式：
try {
//可能会生成例外的代码段
} catch (type id1) {
//例外处理程序
}
关键字try引导的程序段为测试程序段，在测试程序段中生成的例外由catch引导的例外处理器捕获并进行处理，catch带的参数是要捕获的例外类型。
当例外抛出时，如果被捕获，主程序段立即中止执行，转到例外处理程序中执行例外处理，处理结束并不返回到异常抛出的地方，通常的作法是报告错误，进行一些保护性工作，如关闭文件，然后退出函数段。
例外处理的内容很多，详细了解请参考其它书籍。