[英]divide by zero exception
有人可以幫我嗎? 編譯器無法識別異常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;
}
好吧,您嘗試使用Exception
類,但從未聲明過。 因此它不存在。
您可以使用標准異常類型之一。 實際上,您似乎正在嘗試使用基類std::exception
:這是小寫的 e
。
我建議使用<stdexcept>
std::runtime_error
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.