c++异常捕获

#include <iostream>
#include <string>
using namespace std;

int main()
{
try
{
int value1,value2; //定义两个整型变量
cout<<"Pleaseinput two value:"<<endl; //提示输入信息
cin>>value1>>value2; //从键盘输入两个整型数
cout<<"Maybeexception code:"<<endl; //提示可能出现异常的代码信息
if(value2== 0) //如果除数为0则抛出异常
{
throw 0;
}
else //否则直接计算相除操作
{
cout<<"value1/value2:"<<(value1/value2)<<endl;
}
}catch(int i) //捕捉参数为整型的异常
{
cout<<"divisoris 0!"<<endl; //异常处理代码
}
return 0;
}

一旦抛出异常,截到了就执行catch ,没有对应的catch程序会出现异常,且try快后边没执行的语句就不再执行了

try体中可以直接抛出异常,或者在try体中调用的函数体中间接的抛出。

try块中可以包含一个或者多个异常抛出点。但是需要注意的是,异常只要一抛出,对应的catch块捕捉到后,该try块中以下的代码体执行会被终止。代码执行直接进入对应的catch块中,最后catch块执行处理完异常后直接跳转至所有当前try块对应的catch块之后。

try{

throw.......

}catch(){}

原文地址:https://www.cnblogs.com/8335IT/p/5862785.html