嘗試,拋出和捕捉作品,但是,cout < < devide(a,b)< < endl發生錯誤。我應該如何修改這段代碼?例外與功能
#include "stdafx.h"
#include <iostream>
using namespace std;
double devide(double a, double b) throw(int)
{
double result;
if (b == 0) throw 0;
result = a/b;
return result;
}
int main()
{
int a, b;
cin >> a >> b;
try {
devide(a, b);
}
catch (int c) {
cout << 100 << endl;
}
cout << devide(a,b) << endl;
return 0;
}
*「發生錯誤」*這是什麼意思?什麼是錯誤?你有消息嗎?它說什麼? –
另外,你不應該丟整數。相反,拋出'std :: invalid_argument'或類似的東西。 –
做try塊內的輸出。 – 2017-05-07 10:13:17