課程
/后端開發(fā)
/C++
/C++遠征之多態(tài)篇
void test()
{
? ?throw 10;
}
2017-01-08
源自:C++遠征之多態(tài)篇 5-2
正在回答
可以通過代碼檢測拋出,舉個例子,典型異常捕獲除數為零這種情況,可以通過if語句判斷是否除數為零,如果為零,則通過throw關鍵字拋出異常,并通過catch語句去捕捉,給你參照一個小程序:#include <iostream>#include <string>#include <stdlib.h>using namespace std;
/*** 定義函數division* 參數整型dividend、整型divisor*/int division(int dividend, int divisor){?if (0 == divisor)?{??// 拋出異常,字符串“除數不能為0”??throw string("除數不能為0");?}?else?{??return dividend / divisor;?}}
int main(void){?int d1 = 0;?int d2 = 0;?int r = 0;?cin >> d1;?cin >> d2;?// 使用try...catch...捕獲異常?try?{??division(d1, d2);?}?catch (string &)?{??cout << "除數不能為0" << endl;?}
?return 0;}
當你輸入為0,0時調用函數時,if語句捕捉到通過throw扔出,catch捕捉異常。所有異常一般而言都是程序員事先規(guī)劃好的,也可以籠統用catch(...)捕獲。
junnaxing 提問者
舉報
本教程將帶領大家體會面向對象三大特性中的多態(tài)特性
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優(yōu)惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-01-08
可以通過代碼檢測拋出,舉個例子,典型異常捕獲除數為零這種情況,可以通過if語句判斷是否除數為零,如果為零,則通過throw關鍵字拋出異常,并通過catch語句去捕捉,給你參照一個小程序:
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
/**
* 定義函數division
* 參數整型dividend、整型divisor
*/
int division(int dividend, int divisor)
{
?if (0 == divisor)
?{
??// 拋出異常,字符串“除數不能為0”
??throw string("除數不能為0");
?}
?else
?{
??return dividend / divisor;
?}
}
int main(void)
{
?int d1 = 0;
?int d2 = 0;
?int r = 0;
?cin >> d1;
?cin >> d2;
?// 使用try...catch...捕獲異常
?try
?{
??division(d1, d2);
?}
?catch (string &)
?{
??cout << "除數不能為0" << endl;
?}
?return 0;
}
當你輸入為0,0時調用函數時,if語句捕捉到通過throw扔出,catch捕捉異常。所有異常一般而言都是程序員事先規(guī)劃好的,也可以籠統用catch(...)捕獲。