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(){}

 

posted on 2016-09-11 21:17  邗影  阅读(606)  评论(0编辑  收藏  举报

导航