Maison > développement back-end > C++ > Pratique de gestion des erreurs des paramètres de fonction C++

Pratique de gestion des erreurs des paramètres de fonction C++

王林
Libérer: 2024-04-19 16:15:01
original
723 Les gens l'ont consulté

Les techniques suivantes peuvent être utilisées dans la pratique de gestion des erreurs des paramètres de fonction C++ : Exceptions : utilisez des blocs try-catch pour intercepter les exceptions et fournir des informations sur les erreurs. Assertions : utilisez des assertions pour vérifier la validité des paramètres, terminer le programme en cas d'échec et imprimer un message d'erreur. Code d'erreur : la fonction renvoie un code d'erreur pour indiquer une condition d'erreur.

C++ 函数参数错误处理实践

Pratique de gestion des erreurs des paramètres de fonction C++

Dans le développement de logiciels, la gestion des erreurs des paramètres de fonction est cruciale pour éviter les plantages du programme ou un comportement inattendu dû à une entrée invalide ou incohérente. C++ fournit plusieurs techniques pour gérer efficacement les erreurs d’argument de fonction.

1. Utiliser des exceptions

C++ fournit exception 类来处理错误情况。我们可以使用 try-catch des blocs pour détecter les exceptions dans les fonctions :

void function(int n) {
  try {
    if (n < 0) throw std::invalid_argument("n must be non-negative.");

    // 函数逻辑...
  } catch (const std::invalid_argument& e) {
    std::cerr << "Error: " << e.what() << std::endl;
  }
}
Copier après la connexion

2. Utiliser des assertions

Les assertions peuvent vérifier la validité des paramètres de la fonction. Si l'assertion échoue, elle mettra fin au programme et imprimera un message d'erreur.

void function(int n) {
  assert(n >= 0);

  // 函数逻辑...
}
Copier après la connexion

3. Renvoyer le code d'erreur

La fonction peut renvoyer un code d'erreur pour indiquer une situation d'erreur. Par exemple :

int divide(int a, int b) {
  if (b == 0) return -1;  // 错误码:除数为零

  return a / b;
}
Copier après la connexion

Cas pratique

Voici un exemple d'utilisation d'exceptions pour vérifier les paramètres de la fonction :

// 计算圆的面积
double area_circle(double radius) {
  if (radius < 0) throw std::invalid_argument("Radius must be non-negative.");

  return M_PI * radius * radius;
}

int main() {
  try {
    double result = area_circle(-2.5);  // 触发异常
  } catch (const std::invalid_argument& e) {
    std::cerr << "Error: " << e.what() << std::endl;
  }

  return 0;
}
Copier après la connexion

Sortie :

Error: Radius must be non-negative.
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal