C 高階STL 異常處理

2021-08-28 16:33:05 字數 1216 閱讀 1751

(

1)可以丟擲 int

char

float型別的異常,不可以拋其他型別的異常

void fun1()

throw

(int

,char

,float)(

2)不可以丟擲任何異常

void fun2()

throw()

(3)可以丟擲任何異常

void fun2()

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----(4

)異常捕獲

trycatch(.

..)//三個點表示捕獲所有異常

class myexception

~myexception()

void

what()

private:

char

* error;};

intfunc1

(int a,

int b )

throw

(myexception)

intmain

(void

)catch

(myexception& e)

return0;

}

丟擲是物件,接收也是物件: 所有物件在catch語句處理完析構

丟擲物件,用引用接收: 引用直接指向丟擲的物件,不用再呼叫拷貝構造,只有乙個物件,它也在catch語句處理完析構

丟擲是臨時物件位址,接收用指標: 在catch語句之前就析構了,那麼在catch語句中就不能呼叫異常類的方法了。這時候需要在丟擲的時候進行 new;在catch 語句處理完再釋放。

過載what 函式

virtual const char * what() const throw()

過載虛析構函式

virtual ~myexception() throw()

STL學習小計(四) C 異常處理

double divide int x,int y throw int char float 介面異常宣告 return x y int main catch int 根據型別匹配,int匹配int catch int a 也可以直接接過丟擲的資料 catch 捕獲所有異常 注意 假設函式呼叫棧 m...

python高階(異常處理)

python程式一旦發生錯誤,就從錯誤的位置停下來了,不會執行後面的內容。a 未定義的變數,nameerror print 我不會執行 該 不會執行 except nameerror try語句 異常 且 錯誤符合時執行 print 語法錯誤 else print try裡面 沒有錯誤時執行。pri...

Python高階 異常處理

就是不正常的情況,程式開發過程中錯誤和bug都是補充正常的情況 引發程式崩潰 try except 異常捕獲處理 try 1 可能發生異常的 except 2 發現異常後,立刻進入except,執行 2 else 3 程式正常執行進入這一行執行 finally 4 出現finally程式必定執行次行...