Erstellen eines benutzerdefinierten Ausnahmebehandlers

C++C++Beginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In dieser Herausforderung werden Sie ein robustes Ausnahmebehandlungssystem für Temperatursensoren in der wissenschaftlichen Forschung entwickeln. Das Ziel besteht darin, eine benutzerdefinierte Klasse TemperatureException zu erstellen, die von std::runtime_error erbt, und eine Temperaturüberprüfungsfunktion zu implementieren, die die benutzerdefinierte Ausnahme für ungültige Temperaturmesswerte wirft.


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{{"Erstellen eines benutzerdefinierten Ausnahmebehandlers"}} cpp/inheritance -.-> lab-446292{{"Erstellen eines benutzerdefinierten Ausnahmebehandlers"}} cpp/exceptions -.-> lab-446292{{"Erstellen eines benutzerdefinierten Ausnahmebehandlers"}} end

Erstellen eines Temperatur-Ausnahmebehandlers

In der wissenschaftlichen Forschung ist eine genaue Temperaturüberwachung von entscheidender Bedeutung. Ihre Aufgabe besteht darin, ein robustes Ausnahmebehandlungssystem für Temperatursensoren zu entwickeln, das ungültige Messwerte erkennen und melden kann.

Aufgaben

Führen Sie die folgenden TODOs im Vorlagencode aus:

  1. Implementieren Sie den Konstruktor der TemperatureException:

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

    • Prüfen Sie, ob die Temperatur im Bereich von [-50°C, 100°C] liegt
    • Werfen Sie eine TemperatureException für ungültige Werte

Anforderungen

  • Temperaturbereich: -50°C bis 100°C
  • Fehlermeldung: "Temperature Error: Invalid temperature reading"
  • Es muss die bereitgestellte Klassenstruktur verwendet werden
  • Modifizieren Sie nicht die Funktion main()

Beispiele

Kompilieren und führen Sie den Code aus, um die Temperaturüberprüfungsfunktion zu testen. Das Programm sollte für ungültige Temperaturmesswerte eine TemperatureException werfen.

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

Tipps

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

Zusammenfassung

Zusammenfassend erfordert diese Herausforderung, dass Sie eine benutzerdefinierte Klasse TemperatureException erstellen, die von std::runtime_error erbt, und eine Temperaturüberprüfungsfunktion implementieren, die die benutzerdefinierte Ausnahme für ungültige Temperaturmesswerte wirft. Das Ziel besteht darin, ein robustes Ausnahmebehandlungssystem für Temperatursensoren in der wissenschaftlichen Forschung zu entwickeln.