異常型別 異常變數的生命週期

2021-07-26 03:06:40 字數 978 閱讀 4299

傳智掃地僧課程學習筆記。

這是原始的錯誤處理方式,

int my_strcpy( char *to, char *from)

if( to == null )

if( (*from) == 'a')

while( *from != '\0')

*to = '\0';

return 0;

}void main()

if (to == null)

//copy是的 場景檢查

if (*from == 'a')

while (*from != '\0')

*to = '\0';

}

通過這,我們想引出,丟擲物件的型別是,類物件,

我來梳理一下,

異常型別,

1,型別物件是元素的時候,使用copy建構函式,會有2次構造,2次析構,

2,型別物件是元素的引用,匿名物件直接給e,一次構造,一次析構,

3,型別物件是元素的指標,容易出現野指標,得在catch中手動new和delete,比較麻煩,不建議使用,

結果就是建議使用引用,

狀態不好,最好再來聽一遍,

//結論1: 如果 接受異常的時候 使用乙個異常變數,則copy構造異常變數.  

/* catch( badprocesstype e) //是把匿名物件copy給e 還是e還是那個匿名物件

*///結論2: 使用引用的話 會使用throw時候的那個物件

//catch( badprocesstype &e) //是把匿名物件copy給e 還是e還是那個匿名物件

// //結論3: 指標可以和引用/元素寫在一塊 但是引用/元素不能寫在一塊

catch( badprocesstype *e) //是把匿名物件copy給e 還是e還是那個匿名物件

//結論4: 類物件時, 使用引用比較合適

第十天之異常型別和異常變數的生命週期

1 throw 的異常是有型別的,可以使,數字 字串 類物件。2 throw 的異常是有型別的,catch 嚴格按照型別進行匹配。3 注意 異常物件的記憶體模型 include using namespace std 1 傳統的出錯處理機制 返回值 intmy strcpy char to,char...

Bug生命週期 之 異常狀態

作為一名測試工程師,bug生命週期,一定不陌生 而且腦海裡,肯定能想到一張關於bug各狀態流轉的流程圖 關於,問到異常狀態下的bug處理姿勢時,很多同學,是沒有太清晰的思路去解答,或者去解決的 特別是在面試的時候,很多同學,吃過虧,乙份到手的offer,毀於這乙個小小的問題 啥叫異常流程 比如,1 ...

變數的生命週期

from 今天在論壇上看到有朋友發帖問道 既然靜態全域性變數與全域性變數都儲存在全域性資料區,為什麼作用域卻不一樣呢?也許答案非常簡單 c 就是這麼規定的,靜態全域性變數與全域性變數的唯一區別就是作用域不同。對乙個c 變數來說,有兩個屬性非常重要 作用域和生命週期,它們從兩個不同的維度描述了乙個變數...