为什么这段代码只运行一次,而不是运行三次?

时间:2019-11-11 20:41:57

标签: c++ exception

程序在捕获到一个异常后会停止吗?是通用代码还是我的代码有问题?

int main(){
    int x[] = {-1,0,1};
    try{
            for(int i = 0;i<3;i++)
            {
                    int a = x[i];
                    if(a <= 0)
                            throw a;
                    if(a > 0)
                            throw 'a';
            }
    }
    // multiple catch possible 
    catch(int x){
            cout<<"integer exception \n";
    }
    catch(char ch)
    {
            cout<<"character exception \n";
    }
    catch(...){
            cout<<"generalized catch \n";
    }
    return 0;
    }

这是怎么回事? 我期望这个输出:-

integer exception
integer exception
character exception

但是我的输出是:-

integer exception

0 个答案:

没有答案