try块和异常处理
c++的异常处理中包括:
1) throw表达式,错误检测部分使用这种表达式来说明遇到了不可处理的错误。可以说,throw引发了异常条件。
2) try块,错误处理部分使用它来处理异常。try语句块以try关键字开始,并以一个或多个catch子句结束。在try块中执行的代码所抛出的异常,通常会被其中一个catch子句处理。
3) 由标准库定义的一组异常类,用来在throw和相应的catch之间传递有关的错误信息。
throw表达式:
系统通过throw表达式抛出异常。throw表达式的类型决定了所抛出异常的类型。
try块:
try块是以关键字try开始,后面是用花括号括起来的语句序列块。try块后面是一个或多个catch子句。每个catch子句包括三部分:关键字catch,圆括号内单个类型或者单个对象的声明(称为异常说明符)以及通常用花括号括起来的语句块。
异常实例1:
int main()
{
/*
编写使bitset类的to_ulong操作产生overflow_error异常的程序
使用try块来捕获异常并输出提示信息
*/
bitset<100> bs; //定义100位的bitset对象
for(size_t ix=0;ix!=bs.size(); ix++)
bs[ix]=1; //将bitset的每一位置为1
try
{
bs.to_ulong(); //执行to_ulong操作将产生overflow_error异常
} catch(runtime_error err) //处理异常
{
cout << err.what() << endl;
}
return 0;
}