(
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程式必定執行次行...