任何人都可以帮我这个吗?编译器没有识别异常e但是我应该如何声明它?如果第二个为0,应用程序应该将两个数字分开抛出异常。
#include <iostream>
#include <exception>
using namespace std;
float divide(float, float) throw(exception);
int main(int argc, char** argv) {
float a,b;
float c=0;
cin>>a;
cin>>b;
try{
c=divide(a,b);
}
catch(Exception e){
cout<<"You cannot do this";
};
return 0;
}
float divide(float a, float b) throw(exception) {
float c=a/b;
if(b==0)
throw Exception &e;
return c;
}
答案 0 :(得分:1)
嗯,您尝试使用类Exception
但从未声明过它。所以它不存在。
您可以使用其中一种标准异常类型。事实上,您可能正在尝试使用基类std::exception
:这是小写 e
。
我建议std::runtime_error
<stdexcept>
,而不是{{1}}。