English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Come catturare un errore di divisione per zero in C++?

Ecco un esempio di cattura di un errore di divisione per zero.

Esempio

#include <iostream>
using namespace std;
int display(int x, int y) {
   if (y == 0) {
      throw "Condizione di divisione per zero!";
   }
   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;
}

Risultato di output

Condizione di divisione per zero!

Nel programma sopra,display()È stato definito una funzione utilizzando i parametri x e y. Restituisce x diviso y e lancia un errore.

int display(int x, int y) {
   if (y == 0) {
      throw "Condizione di divisione per zero!";
   }
   return (x/y);
}

In questomain()Nel blocco di funzione, utilizzare il blocco try catch per catturare gli errori nel blocco catch e stampare il messaggio.

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