第2集C++中異常處理的游戲規(guī)則

字號(hào):

如果您喜歡玩一款游戲,您必須先要很好理解這款游戲的規(guī)則。同樣主人公阿愚喜歡上C++中異常處理后,當(dāng)然也首先關(guān)注它的游戲規(guī)則,這就是C++中異常處理的語(yǔ)法。
    關(guān)鍵字
    1、 try
    2、 catch
    3、 throw
    其中關(guān)鍵字try表示定義一個(gè)受到監(jiān)控、受到保護(hù)的程序代碼塊;關(guān)鍵字catch與try遙相呼應(yīng),定義當(dāng)try block(受監(jiān)控的程序塊)出現(xiàn)異常時(shí),錯(cuò)誤處理的程序模塊,并且每個(gè)catch block都帶一個(gè)參數(shù)(類似于函數(shù)定義時(shí)的數(shù)那樣),這個(gè)參數(shù)的數(shù)據(jù)類型用于異常對(duì)象的數(shù)據(jù)類型進(jìn)行匹配;而throw則是檢測(cè)到一個(gè)異常錯(cuò)誤發(fā)生后向外拋出一個(gè)異常事件,通知對(duì)應(yīng)的catch程序塊執(zhí)行對(duì)應(yīng)的錯(cuò)誤處理。
    語(yǔ)法
    1、還是給一個(gè)例子吧!如下:
    int main()
    {
    cout << "In main." << endl;
    //定義一個(gè)try block,它是用一對(duì)花括號(hào){}所括起來(lái)的塊作用域的代碼塊
    try
    {
    cout << "在 try block 中, 準(zhǔn)備拋出一個(gè)異常." << endl;
    //這里拋出一個(gè)異常(其中異常對(duì)象的數(shù)據(jù)類型是int,值為1)
    //由于在try block中的代碼是受到監(jiān)控保護(hù)的,所以拋出異常后,程序的
    //控制流便轉(zhuǎn)到隨后的catch block中
    throw 1;
    cout << "在 try block 中, 由于前面拋出了一個(gè)異常,因此這里的代碼是不會(huì)得以執(zhí)行到的" << endl;
    }
    //這里必須相對(duì)應(yīng)地,至少定義一個(gè)catch block,同樣它也是用花括號(hào)括起來(lái)的
    catch( int& value )
    {
    cout << "在 catch block 中, 處理異常錯(cuò)誤。異常對(duì)象value的值為:"<< value << endl;
    }
    cout << "Back in main. Execution resumes here." << endl;
    return 0;
    }