二十一天學通C 之使用throw丟擲異常

2021-08-31 10:06:25 字數 1043 閱讀 3717

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

使用throw丟擲異常

本人節選自《21天學通c++》一書

丟擲異常(也稱為拋棄異常)即檢測是否產生異常,在c++中,其採用throw語句來實現,如果檢測到產生異常,則丟擲異常。該語句的格式為:

throw 表示式;

如果在try語句塊的程式段中(包括在其中呼叫的函式)發現了異常,且拋棄了該異常,則這個異常就可以被try語句塊後的某個catch語句所捕獲並處理,捕獲和處理的條件是被拋棄的異常的型別與catch語句的異常型別相匹配。由於c++使用資料型別來區分不同的異常,因此在判斷異常時,throw語句中的表示式的值就沒有實際意義,而表示式的型別就特別重要。

【範例20-2】處理除數為0的異常。該範例將上述除數為0的異常可以用try/catch語句來捕獲異常,並使用throw語句來丟擲異常,從而實現異常處理,實現**如**清單20-2所示。

**清單20-2

1    #include//包含標頭檔案

2    #include

3    double fuc(double x, double y)                        //定義函式

4    

9        return x/y;                                    //否則返回兩個數的商

10    }

11    void main()

12    {

13        double res;

14        try                                            //定義異常

15        {

16            res=fuc(2,3);

17            cout<

給我老師的人工智慧教程打call!

二十一天學通C 之使用throw丟擲異常

使用throw丟擲異常 本人節選自 21天學通c 一書 丟擲異常 也稱為拋棄異常 即檢測是否產生異常,在c 中,其採用throw語句來實現,如果檢測到產生異常,則丟擲異常。該語句的格式為 throw 表示式 如果在try語句塊的程式段中 包括在其中呼叫的函式 發現了異常,且拋棄了該異常,則這個異常就...

二十一天學通C 之異常處理機制

異常處理機制 本人節選自 21天學通c 一書 c 並不是第乙個對結構化執行期錯誤處理進行支援的語言。早在20世紀60年代,pl 1就提供了一種內建的異常處理機制 ada也在20世紀80年代提供了自己的異常處理,而c 是在1989年時才有了異常處理機制。但是,c 的異常處理是獨一無二的,並且其已經作為...

二十一天學通C語言 函式型指標

二十一天學通c語言 函式型指標 本文節選自 21天學通c語言 一書 c程式中的函式也都是存放在 區內的,它們同樣也是有位址的。那麼如何取得函式的位址呢?在前面也說過函式定義的時候實際上是定義了乙個函式變數,那麼是否可以將函式變數賦值給其他變數呢?回答這些問題需要涉及另外乙個概念 函式型指標。按照已有...