Maison  >  Article  >  développement back-end  >  Comment gérer lorsqu’une fonction C++ renvoie une exception ?

Comment gérer lorsqu’une fonction C++ renvoie une exception ?

WBOY
WBOYoriginal
2024-04-19 14:36:01972parcourir

En C++, les exceptions renvoyées par les fonctions sont gérées via des blocs try-catch : les blocs try contiennent du code qui peut lever des exceptions. Le bloc catch contient le code de gestion des exceptions, effectue des opérations de nettoyage et enregistre les informations sur les erreurs.

C++ 函数返回异常时如何处理?

Comment gérer les exceptions renvoyées par les fonctions C++ ?

En C++, les fonctions peuvent signaler des erreurs en lançant des exceptions. Les exceptions sont un mécanisme de gestion des erreurs qui permet aux fonctions de transmettre des informations d'erreur à l'appelant.

Pour gérer les exceptions renvoyées par les fonctions, vous devez utiliser un bloc try-catch : try-catch 块:

try {
  // 函数调用,可能会抛出异常
}
catch (exception& e) {
  // 异常处理代码
}

try 块包含可能抛出异常的代码,而 catch 块包含异常处理代码。异常处理代码将根据需要执行清理操作和记录错误信息。

实战案例:

考虑以下返回异常的函数:

int divide(int numerator, int denominator) {
  if (denominator == 0) {
    throw runtime_error("除数不能为 0");
  }
  return numerator / denominator;
}

我们可以使用 try-catch 块来处理此函数返回的异常:

int main() {
  int numerator, denominator;
  cin >> numerator >> denominator;

  try {
    int result = divide(numerator, denominator);
    cout << "结果为:" << result << endl;
  }
  catch (exception& e) {
    cout << "除数不能为 0" << endl;
  }

  return 0;
}

denominatorrrreee

Le bloc try contient du code qui peut lancer des exceptions, tandis que le bloc try Le bloc >catch contient le code de gestion des exceptions. Le code de gestion des exceptions effectuera des opérations de nettoyage et enregistrera les informations sur les erreurs si nécessaire. 🎜🎜🎜Cas pratique : 🎜🎜🎜Considérons la fonction suivante qui renvoie une exception : 🎜rrreee🎜 On peut utiliser le bloc try-catch pour gérer l'exception renvoyée par cette fonction : 🎜rrreee🎜Quand denominator vaut 0, ce programme imprime un message d'erreur et termine le programme. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn