Créer un gestionnaire d'exceptions personnalisé

C++Beginner
Pratiquer maintenant

Introduction

Dans ce défi, vous allez développer un système robuste de gestion des exceptions pour des capteurs de température utilisés en recherche scientifique. L'objectif est de créer une classe personnalisée TemperatureException héritant de std::runtime_error et d'implémenter une fonction de validation qui lève cette exception spécifique lorsque les relevés de température sont hors limites.

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

Dans le domaine de la recherche scientifique, la précision de la surveillance thermique est cruciale. Votre mission consiste à élaborer un dispositif de gestion des erreurs pour des capteurs de température afin de détecter et de signaler tout relevé aberrant.

Tâches

Complétez les sections marquées TODO dans le code source fourni :

  1. Implémenter le constructeur de TemperatureException :

    • Initialiser la classe de base avec le message d'erreur approprié.
    • Enregistrer la valeur de la température invalide.
  2. Implémenter la fonction validateTemperature :

    • Vérifier si la température se situe dans l'intervalle [-50°C, 100°C].
    • Lever une TemperatureException si la valeur est en dehors de cette plage.

Exigences

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

Exemples

Compilez et exécutez le code pour tester la fonction de validation. Le programme doit lever une TemperatureException pour les relevés incorrects.

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

Exemple de température valide :

Testing valid temperature:
Temperature 25.0°C is valid.

Exemple de température invalide :

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

Conseils

  • Utilisez le constructeur de std::runtime_error pour définir le message d'erreur.
  • Stockez la température erronée dans un membre privé de la classe d'exception.
  • Créez une méthode "getter" pour récupérer la valeur de la température ayant causé l'erreur.
✨ Vérifier la solution et pratiquer

Résumé

En résumé, ce défi vous a demandé de créer une classe d'exception personnalisée TemperatureException héritant de std::runtime_error et d'implémenter une fonction de validation thermique. Ce processus permet de mettre en place un système de surveillance robuste, capable de traiter les erreurs de lecture des capteurs de manière structurée et professionnelle dans un contexte scientifique.