亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C++函數拋出異常是什么意思?throw是什么意思?

C++函數拋出異常是什么意思?throw是什么意思?

iOS
繁花如伊 2019-02-06 15:06:15
C++函數拋出異常是什么意思?throw是什么意思?
查看完整描述

4 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

就是拋出異常 等待catch,
可能具體細節有問題,意思就是這樣的。
可以在里層把異常繼續拋出,然后在外層catch這個異常
比如:
void main()
{
try
{
example()

}
catch(exceptioin e)

{
Console.WriteLine(e.message);

}
}

int example()
{
try
{
int i =9/0;

}
catch(exception e)

{
throw;

}
}



查看完整回答
反對 回復 2019-03-19
?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

就是程序出錯的時候,把錯誤拋給上一層引用。throw語句就是用來干這個事的。

比如下面的偽代碼:
func2()
{
throw new Exception("I am a error"); //生成一個自定義異常拋出
}

main ()
{
try{
func2();

}
catch(Exception ex){
print ex;

}
}

程序會輸出:"I am a error"



查看完整回答
反對 回復 2019-03-19
?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

有三個關鍵字, 是關于異常處理的:
1、 try
  2、 catch
  3、 throw
  其中關鍵字try表示定義一個受到監控、受到保護的程序代碼塊;關鍵字catch與try遙相呼應,定義當try block(受監控的程序塊)出現異常時,錯誤處理的程序模塊,并且每個catch block都帶一個參數(類似于函數定義時的數那樣),這個參數的數據類型用于異常對象的數據類型進行匹配;而throw則是檢測到一個異常錯誤發生后向外拋出一個異常事件,通知對應的catch程序塊執行對應的錯誤處理。

語法 :

int main()
{
cout << "In main." << endl;
//定義一個try block,它是用一對花括號{}所括起來的塊作用域的代碼塊
try
{
cout << "在 try block 中, 準備拋出一個異常." << endl;
//這里拋出一個異常(其中異常對象的數據類型是int,值為1)
//由于在try block中的代碼是受到監控保護的,所以拋出異常后,程序的
//控制流便轉到隨后的catch block中
throw 1;
cout << "在 try block 中, 由于前面拋出了一個異常,因此這里的代碼是不會得以執行到的" << endl;
}
//這里必須相對應地,至少定義一個catch block,同樣它也是用花括號括起來的
catch( int& value )
{
cout << "在 catch block 中, 處理異常錯誤。異常對象value的值為:"<< value << endl;
}
cout << "Back in main. Execution resumes here." << endl;
return 0;
}

 


查看完整回答
反對 回復 2019-03-19
  • 4 回答
  • 0 關注
  • 1089 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號