在c語言中,對於錯誤的處理有兩種方法,一是使用整型的返回表示錯誤,二是使用 errno 巨集去記錄錯誤。使用這兩種方法,會出現返回值和錯誤值相同的情況,程式無法判斷在c++中,異常和返回值是分開處理的,函式的返回值可以忽略,但異常不可忽略,如果異常不處理,程式就會中斷。異常是可以跳級處理的。
#include
using
namespace std;
//拋出自定義型別的異常
class
myexception};
intdivision
(int a,
int b)
return a/b;
}void
test01()
catch
(int
)catch
(double
)catch
(myexception e)
catch(.
..)}
intmain()
catch(.
..)return0;
}
#include
using
namespace std;
class
myexception};
class
person
~person()
};intdivision
(int a,
int b)
return a/b;
}void
test01()
catch
(int
)catch
(double
)catch
(myexception e)
catch(.
..)}
intmain()
catch(.
..)return0;
}
函式沒有宣告異常介面,則可以丟擲所有的異常,若宣告了,只可丟擲指定型別的異常
#include
using
namespace std;
//異常介面宣告
void
fun(
)throw
(int
)//無法丟擲任何異常,預設呼叫terminate函式中斷程式
void
fun1()
throw()
intmain()
catch
(int
)catch(.
..)return0;
}
#include
using
namespace std;
class
myexception
myexception
(const myexception &a)
~myexception()
};void
fun(
)int
main()
/* catch(myexception &e)的輸出結果為
myexception建構函式
myexception拷貝建構函式
捕獲異常
myexception析構函式
myexception析構函式
catch(myexception &e)的輸出結果為
myexception建構函式
捕獲異常
myexception析構函式
*/catch
(myexception &e)
return0;
}
補充C語言,C
對於元素型別說明和引數傳遞進行整理補充 對於序號設定依舊不通,羞愧 o c語言 typedef structsqlist 順序表型別 sqlist l l.data elemtype malloc sizeof elemtype maxsize malloc m 函式 開闢m位元組長度的位址空間,並...
c 學習補充
1.在類的定義中,一般資料成員設為私有,函式成員設為共有。2.私有成員只能在類內使用,不能再類外,即宣告乙個物件後,不能用std.mame這種形式去呼叫私有成員,只能呼叫共有成員。3.我們知道建構函式是用來初始化資料成員的,但是有比他更好的,那就是初始化列表,他更快,更專業。4.類的定義就是封裝 5...
C 高階補充
點選前往 今天看到的這樣的一題,感覺還是挺有意思的,記錄下來 它給出了乙個函式,填寫以下函式完成功能 vector findmax vector num 空陣列,返回空 vector res len,1 返回結果 初始化 1,表示未找到 stack notfind 棧 num中還未找到符合條件的元素...