如何在C ++中捕捉零除错误?

以下是捕获零分误差的示例。

示例

#include <iostream>
using namespace std;
int display(int x, int y) {
   if( y == 0 ) {
      throw "除以零条件!";
   }
   return (x/y);
}
int main () {
   int a = 50;
   int b = 0;
   int c = 0;
   try {
      c = display(a, b);
      cout << c << endl;
   } catch (const char* msg) {
      cerr << msg << endl;
   }
   return 0;
}

输出结果

除以零条件!

在以上程序中,display()使用参数x和y定义了一个函数。它返回x除以y并引发错误。

int display(int x, int y) {
   if( y == 0 ) {
      throw "除以零条件!";
   }
   return (x/y);
}

在该main()函数中,使用try catch块将错误捕获到catch块并打印消息。

try {
   c = display(a, b);
   cout << c << endl;
} catch (const char* msg) {
   cerr << msg << endl;
}