最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解C++異常處理機制示例介紹

 更新時間:2022年08月16日 11:07:03   作者:lhb2998658795  
任何東西都可以認為是異常,錯誤只是異常的一種。本文將帶大家了解C++中異常是什么,是如何捕獲和處理的等相關(guān)知識。文中示例代碼簡潔易懂,感興趣的小伙伴可以了解一下

1.C++異常處理的套路

C++異常處理機制之拋出異常關(guān)鍵字:throw

throw關(guān)鍵字的使用:

在哪可能出現(xiàn)異常就在哪里使用throw關(guān)鍵字拋出異常。 這個異常可以使用一個常量,字符串,或類對象,都可以來拋出。 throw + 常量、字符串、數(shù)對象 :用表示拋出一個異常。 throw拋出的異常將層層向外拋出,至少有try....catch...語句來捕獲這個異常并處理這個異常。 如果最外層的主函數(shù)也不進行處理,那么主程序?qū)⒆詣油V埂?/p>

使用try{ .... } catch(exp ){..} 捕獲并處理異常:

try
{
    //有可能出現(xiàn)的異常的代碼放在try語句塊中。
    //在try語句塊中就可以捕獲這個異常。
    //如果try語句塊中的代碼出現(xiàn)異常,即自動跳轉(zhuǎn)到catch語句塊進行異常處理。
}catch(被捕獲的異常)
{
    //catch的語句塊里是用來處理異常。
}

代碼實例:

#include <iostream>
using namespace std;
int my_add(int a,int b)
{
    if(b==0){
        throw -1;
    }
    return a/b;
}
int add(int a,int b)
{
    return a+b+my_add(a,b);
}
int main()
{
    try {
        add(10,0);
    } catch (int num) {
        if(num==-1){
            cout<<"被除數(shù)不能為0"<<endl;
        }
    }
    return 0;
}

結(jié)果圖:

2.C++標準異常庫中常用的幾個異常處理類

2.1異常類的例子

#include <iostream>
using namespace std;
int my_add(int a,int b)
{
    if(b==0){
        out_of_range  err("被除數(shù)不能為0");
        throw err;
    }
    return a/b;
}
int add(int a,int b)
{
    return a+b+my_add(a,b);
}
int main()
{
    try {
        add(10,0);
    } catch (out_of_range & err) {
 
            cout<<err.what()<<endl;
    }
    return 0;
}

2.2封裝一個自定義異常類

#include <iostream>
using namespace std;
class Err
{
 string err;
public:
    Err(string err)
    {
        this->err=err;
    }
    string what()
    {
        cout<<"被除數(shù)不能為0"<<endl;
    }
};
int my_add(int a,int b)
{
    if(b==0){
        Err  err("被除數(shù)不能為0");
        throw err;
    }
    return a/b;
}
int add(int a,int b)
{
    return a+b+my_add(a,b);
}
int main()
{
    try {
        add(10,0);
    } catch (Err & err) {
 
            cout<<err.what()<<endl;
    }
    return 0;
}

到此這篇關(guān)于詳解C++異常處理機制示例介紹的文章就介紹到這了,更多相關(guān)C++異常處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL的C語言API接口

    MySQL的C語言API接口

    這篇文章主要介紹了MySQL的C語言API接口,需要的朋友可以參考下
    2015-08-08
  • C語言每日練習之二叉堆

    C語言每日練習之二叉堆

    這篇文章主要為大家介紹了C語言二叉堆,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • C++ list的實例詳解

    C++ list的實例詳解

    這篇文章主要介紹了 C++ list的實例詳解的相關(guān)資料,希望通過本文大家能夠理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09
  • 詳解C語言中typedef和#define的用法與區(qū)別

    詳解C語言中typedef和#define的用法與區(qū)別

    這篇文章主要給大家介紹了關(guān)于C語言中typedef和#define的的用法、區(qū)別,以及陷阱。文中通過示例進行了詳細講解,感興趣的小伙伴可以了解一下
    2022-07-07
  • C++?OpenGL實現(xiàn)球形的繪制

    C++?OpenGL實現(xiàn)球形的繪制

    這篇文章主要主要為大家詳細介紹了如何利用C++和OpenGL實現(xiàn)球形的繪制,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起動手嘗試一下
    2022-07-07
  • 淺析C++中的間接宏函數(shù)

    淺析C++中的間接宏函數(shù)

    這篇文章主要介紹了C++中的間接宏函數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • C語言版五子棋游戲的實現(xiàn)代碼

    C語言版五子棋游戲的實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了C語言版五子棋游戲的實現(xiàn)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C++日期類計算器的模擬實現(xiàn)舉例詳解

    C++日期類計算器的模擬實現(xiàn)舉例詳解

    兩個日期之間相隔天數(shù)的計算網(wǎng)上有許多的軟件,這里主要介紹如何使用C/C++語言來完成這樣的功能,下面這篇文章主要給大家介紹了關(guān)于C++日期類計算器的模擬實現(xiàn),需要的朋友可以參考下
    2023-04-04
  • C語言實現(xiàn)多項式的相加

    C語言實現(xiàn)多項式的相加

    這篇文章主要為大家介紹了C語言實現(xiàn)多項式的相加,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • C++實現(xiàn)簡單的學生管理系統(tǒng)

    C++實現(xiàn)簡單的學生管理系統(tǒng)

    本文給大家分享的是使用C++實現(xiàn)的簡單的學生管理系統(tǒng)的代碼,主要是通過鏈表來實現(xiàn),非常簡潔,有需要的小伙伴可以參考下。
    2015-07-07

最新評論

筠连县| 天门市| 滨海县| 喀喇| 缙云县| 新乐市| 墨脱县| 饶平县| 裕民县| 资兴市| 北票市| 安陆市| 景泰县| 黄浦区| 衡东县| 水城县| 昌吉市| 营口市| 贵港市| 仁布县| 临猗县| 全南县| 乌什县| 达孜县| 庆阳市| 延边| 习水县| 博客| 河北省| 黄山市| 濮阳市| 故城县| 银川市| 兴义市| 察雅县| 武夷山市| 定陶县| 香港| 莒南县| 昌吉市| 榆林市|