Erstellen eines benutzerdefinierten Ausnahme-Handlers

C++Beginner
Jetzt üben

Einführung

In dieser Herausforderung entwickeln Sie ein robustes System zur Fehlerbehandlung für Temperatursensoren in der wissenschaftlichen Forschung. Ziel ist es, eine benutzerdefinierte Klasse TemperatureException zu erstellen, die von std::runtime_error erbt, und eine Validierungsfunktion zu implementieren, die diese Ausnahme bei ungültigen Messwerten auslöst.

Temperatur-Ausnahme-Handler erstellen

In der wissenschaftlichen Forschung ist eine präzise Temperaturüberwachung entscheidend. Ihre Aufgabe ist es, ein zuverlässiges System zur Ausnahmebehandlung für Temperatursensoren zu entwickeln, das fehlerhafte Messwerte erkennt und meldet.

Aufgaben

Vervollständigen Sie die folgenden Abschnitte (TODOs) im bereitgestellten Code-Template:

  1. Implementieren Sie den Konstruktor für TemperatureException:

    • Initialisieren Sie die Basisklasse mit einer Fehlermeldung.
    • Speichern Sie den ungültigen Temperaturwert.
  2. Implementieren Sie die Funktion validateTemperature:

    • Prüfen Sie, ob die Temperatur innerhalb des Bereichs von [-50°C, 100°C] liegt.
    • Lösen Sie eine TemperatureException aus, falls der Wert außerhalb dieses Bereichs liegt.

Anforderungen

  • Temperaturbereich: -50°C bis 100°C
  • Fehlermeldung: "Temperature Error: Invalid temperature reading"
  • Die vorgegebene Klassenstruktur muss verwendet werden.
  • Die Funktion main() darf nicht verändert werden.

Beispiele

Kompilieren und führen Sie den Code aus, um die Validierungsfunktion zu testen. Das Programm sollte bei ungültigen Werten eine TemperatureException auslösen.

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

Gültige Temperatur:

Testing valid temperature:
Temperature 25.0°C is valid.

Ungültige Temperatur:

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

Hinweise

  • Nutzen Sie den Konstruktor von std::runtime_error, um die Fehlermeldung zu setzen.
  • Speichern Sie die ungültige Temperatur als privates Mitglied der Ausnahmeklasse.
  • Erstellen Sie eine Getter-Methode, um den fehlerhaften Temperaturwert abzurufen.
✨ Lösung prüfen und üben

Zusammenfassung

Zusammenfassend lässt sich sagen, dass diese Herausforderung von Ihnen verlangt, eine benutzerdefinierte Klasse TemperatureException zu erstellen, die von std::runtime_error erbt, und eine Validierungsfunktion zu implementieren, die diese Ausnahme bei ungültigen Messwerten auslöst. Ziel ist die Entwicklung eines robusten Fehlerbehandlungssystems für Temperatursensoren im wissenschaftlichen Kontext.