在很多程序设计中为了解决异常情况常常会有专门的方式解决,在c++中常用到try,throw, catch三个关键字处理异常。
try用于标识出可能出现异常的代码段;
catch用于处理try中标识的出现异常的数据类型,一般还会有catch(...)表示捕获省略可能出现的所有异常;
throw抛出异常。
下面给出一个简单的例子:
#include<iostream>
double fun(double x,double y)
{
if(y == 0)
{
throw y;//除数为零,抛出异常
}
return x/y;
}
int main()
{
double res;
try//定义异常
{
res = fun(1,2);
std::cout<<"The resault is equal to"<<res<<std::endl;
res = fun(1,0);
}
catch(double)//捕获异常
{
throw "dividing is zero\n";
exit(1);
}
return 0;
}