簡體   English   中英

除以零例外

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM