Catching exception: divide by zero

后端 未结 8 1727
时光取名叫无心
时光取名叫无心 2020-11-22 16:23

The following code does not catch an exception, when I try to divide by 0. Do I need to throw an exception, or does the computer automatically throw one at runtime?

8条回答
  •  无人及你
    2020-11-22 17:14

    You need to throw the exception manually using throw keyword.

    Example:

    #include 
    using namespace std;
    
    double division(int a, int b)
    {
       if( b == 0 )
       {
          throw "Division by zero condition!";
       }
       return (a/b);
    }
    
    int main ()
    {
       int x = 50;
       int y = 0;
       double z = 0;
    
       try {
         z = division(x, y);
         cout << z << endl;
       }catch (const char* msg) {
         cerr << msg << endl;
       }
    
       return 0;
    }
    

提交回复
热议问题