zoukankan      html  css  js  c++  java
  • c++ 异常处理

    #include "stdafx.h"
    #include <iostream>
    using namespace std;

    enum EHstate{ noErr, zeroOP,nega, severeError};
    enum EHstate state = noErr;
    int mathFunc(int i)
    {
    if(i == 0)
    {
    throw state;
    }
    }
    void calculate(int op)
    {
    try
    {
    mathFunc(op);
    }
    catch(EHstate &eobj)//声明为引用
    {
    eobj = severeError;//此处未修改全局变量的值
    }
    }
    int _tmain(int argc, _TCHAR* argv[])
    {
    cout<<"全局变量:"<<state<<endl;
    calculate(0);
    cout<<"全局变量:"<<state<<endl;
    return 0;
    }


    #include "stdafx.h"
    #include <iostream>
    using namespace std;

    enum EHstate{ noErr, zeroOP,nega, severeError};
    enum EHstate state = noErr;
    int mathFunc(int i)
    {
    if(i == 0)
    {
    throw state;
    }
    }
    void calculate(int op)
    {
    try
    {
    mathFunc(op);
    }
    catch(EHstate eobj)//此处为对象,不是引用
    {
    eobj = severeError;//修改此局部对象
    throw;//抛出的仍然是原始的异常对象,而非修改的局部对象
    }
    }
    int _tmain(int argc, _TCHAR* argv[])
    {
    cout<<"全局变量:"<<state<<endl;
    try
    {
    calculate(0);
    }
    catch(EHstate eobj)
    {
    cout<<"捕捉的异常对象值:"<<eobj<<endl;
    }
    cout<<"全局变量:"<<state<<endl;
    return 0;
    }
  • 相关阅读:
    NOIP201105铺地毯
    50148155HYF旅游
    连通性判断
    传递消息1
    找朋友
    5796: 最短Hamilton路径(状压dp)
    2283: A Mini Locomotive(01背包)
    2616: Cow Frisbee Team(01背包)
    2593: Secret Message(字典树)
    Stammering Aliens(二分+Hash 卡过)
  • 原文地址:https://www.cnblogs.com/handongdong/p/2223731.html
Copyright © 2011-2022 走看看