Créer un gestionnaire d'exceptions personnalisé

C++C++Beginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce défi, vous allez développer un système de gestion d'exceptions robuste pour les capteurs de température en recherche scientifique. L'objectif est de créer une classe personnalisée TemperatureException qui hérite de std::runtime_error et d'implémenter une fonction de validation de température qui lance l'exception personnalisée pour les lectures de température invalides.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/OOPGroup(["OOP"]) cpp(("C++")) -.-> cpp/AdvancedConceptsGroup(["Advanced Concepts"]) cpp/OOPGroup -.-> cpp/classes_objects("Classes/Objects") cpp/OOPGroup -.-> cpp/inheritance("Inheritance") cpp/AdvancedConceptsGroup -.-> cpp/exceptions("Exceptions") subgraph Lab Skills cpp/classes_objects -.-> lab-446292{{"Créer un gestionnaire d'exceptions personnalisé"}} cpp/inheritance -.-> lab-446292{{"Créer un gestionnaire d'exceptions personnalisé"}} cpp/exceptions -.-> lab-446292{{"Créer un gestionnaire d'exceptions personnalisé"}} end

Créer un gestionnaire d'exceptions de température

En recherche scientifique, la surveillance précise de la température est cruciale. Votre tâche consiste à développer un système de gestion d'exceptions robuste pour les capteurs de température capable de détecter et de signaler les lectures invalides.

Tâches

Complétez les TODO suivants dans le code modèle :

  1. Implémentez le constructeur de TemperatureException :

    • Initialisez la classe de base avec un message d'erreur.
    • Définissez la valeur de température invalide.
  2. Implémentez la fonction validateTemperature :

    • Vérifiez si la température est comprise entre [-50°C, 100°C].
    • Lancez une TemperatureException pour les valeurs invalides.

Exigences

  • Plage de température : -50°C à 100°C.
  • Message d'erreur : "Temperature Error: Invalid temperature reading" (Erreur de température : Lecture de température invalide).
  • Vous devez utiliser la structure de classe fournie.
  • Ne modifiez pas la fonction main().

Exemples

Compilez et exécutez le code pour tester la fonction de validation de température. Le programme devrait lancer une TemperatureException pour les lectures de température invalides.

g++ temperature_exception.cpp -o temperature_exception
./temperature_exception

Température valide :

Testing valid temperature:
Temperature 25.0°C is valid.

Température invalide :

Temperature Error: Invalid temperature reading
Invalid Temperature: 150°C

Indices

  • Utilisez le constructeur de std::runtime_error pour définir le message d'erreur.
  • Stockez la température invalide en tant que membre privé de la classe d'exception.
  • Créez une méthode getter pour récupérer la valeur de la température invalide.
✨ Vérifier la solution et pratiquer

Résumé

En résumé, ce défi vous demande de créer une classe personnalisée TemperatureException qui hérite de std::runtime_error et d'implémenter une fonction de validation de température qui lance l'exception personnalisée pour les lectures de température invalides. L'objectif est de développer un système de gestion d'exceptions robuste pour les capteurs de température en recherche scientifique.