Maison > développement back-end > C++ > le corps du texte

Comment lancer et intercepter des exceptions en C pour gérer les entrées invalides ?

DDD
Libérer: 2024-11-23 07:48:17
original
932 Les gens l'ont consulté

How do You Throw and Catch Exceptions in C   to Handle Invalid Inputs?

Gestion des exceptions : lancer des exceptions en C

La gestion des exceptions est une technique cruciale en C qui vous permet de gérer efficacement les erreurs et les situations inhabituelles. Comprendre comment lancer, essayer et intercepter des exceptions est essentiel pour écrire du code robuste et fiable.

Un scénario courant dans lequel les exceptions sont utiles est lorsque vous souhaitez gérer des entrées ou des conditions non valides qui ne devraient pas se produire lors de l'exécution normale d'un programme. . Par exemple, considérons une fonction compare(int a, int b) qui compare deux entiers.

Pour gérer le cas où a ou b est négatif, nous pouvons modifier la définition de la fonction de comparaison comme suit :

#include <stdexcept>

int compare(int a, int b) {
    if (a < 0 || b < 0) {
        throw std::invalid_argument("received negative value");
    }
}
Copier après la connexion

Dans cet exemple, nous utilisons l'instruction throw pour déclencher une exception si l'un des paramètres est négatif. Le std::invalid_argument est un objet d'exception intégré qui correspond à un argument invalide transmis à une fonction.

Pour gérer l'exception levée par la fonction de comparaison, nous pouvons utiliser un bloc try-catch :

try {
    compare(-1, 3);
} catch (const std::invalid_argument& e) {
    // Handle the exception here...
}
Copier après la connexion

Dans le bloc try, nous essayons d'exécuter la fonction de comparaison avec des entrées potentiellement invalides. Si une exception est levée, le bloc catch l'attrape, nous donnant une référence à l'objet exception e. Nous pouvons utiliser cet objet pour déterminer la cause de l'exception et prendre les mesures appropriées.

De plus, C offre une flexibilité dans la gestion des exceptions. Vous pouvez lancer par valeur et attraper par référence, comme démontré dans l'exemple ci-dessus. Vous pouvez également relancer des exceptions ou intercepter des exceptions quel que soit leur type à l'aide de catch(...). Ces fonctionnalités vous permettent de gérer les scénarios d'exception de manière personnalisée et efficace.

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!

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