Maison  >  Article  >  développement back-end  >  Comment gérer les exceptions de fonction en C++ ?

Comment gérer les exceptions de fonction en C++ ?

WBOY
WBOYoriginal
2024-04-12 21:06:02748parcourir

La gestion des exceptions est un mécanisme en C++ permettant de gérer les erreurs d'exécution. Lancez des exceptions avec throw et catch et gérez-les avec des blocs try, catch et enfin. La syntaxe spécifique est la suivante : try { // Code pouvant provoquer des exceptions}catch (const std::exception& e) { // Attraper et gérer les exceptions}catch(...) { // Attraper toutes les exceptions}

C++ 中如何处理函数异常?

Comment gérer les exceptions de fonction en C++

La gestion des exceptions est un mécanisme en C++ permettant de gérer les erreurs d'exécution. Utilisez le mot-clé throw pour lancer des exceptions et utilisez les blocs try, catch et éventuellement enfin pour intercepter et gérer les exceptions.

Syntaxe :

try {
  // 可能引发异常的代码
} catch (const std::exception& e) {
  // 捕获并处理异常
} catch(...) {
  // 捕获所有异常
}

Exemple pratique :

Considérons la fonction suivante, qui convertit une chaîne en entier :

int string_to_int(std::string str) {
  try {
    int num = std::stoi(str);
    return num;
  } catch (const std::invalid_argument& e) {
    std::cout << "无法将字符串转换为整数" << std::endl;
    return -1;
  } catch (const std::out_of_range& e) {
    std::cout << "整数超出范围" << std::endl;
    return -1;
  }
}

Utilisez cette fonction dans la fonction principale :

int main() {
  std::string input = "123";
  int num;

  try {
    num = string_to_int(input);
    std::cout << num << std::endl;
  } catch (const std::exception& e) {
    std::cout << "出现异常: " << e.what() << std::endl;
  }

  return 0;
}

Avantages : Améliorer la robustesse du programme

    Autoriser la gestion d'exceptions spécifiques à des emplacements spécifiques
  • Fournir des informations sur les erreurs et une gestion personnalisée des erreurs
  • Empêcher l'arrêt inattendu du 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