Crear un manejador de excepciones personalizado

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este desafío, desarrollarás un sólido sistema de manejo de excepciones para sensores de temperatura en investigación científica. El objetivo es crear una clase personalizada TemperatureException que herede de std::runtime_error e implementar una función de validación de temperatura que lance la excepción personalizada para lecturas de temperatura no válidas.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/AdvancedConceptsGroup(["Advanced Concepts"]) cpp(("C++")) -.-> cpp/OOPGroup(["OOP"]) 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{{"Crear un manejador de excepciones personalizado"}} cpp/inheritance -.-> lab-446292{{"Crear un manejador de excepciones personalizado"}} cpp/exceptions -.-> lab-446292{{"Crear un manejador de excepciones personalizado"}} end

Crear un manejador de excepciones de temperatura

En la investigación científica, el monitoreo preciso de la temperatura es crucial. Tu tarea es desarrollar un sólido sistema de manejo de excepciones para sensores de temperatura que pueda detectar e informar lecturas no válidas.

Tareas

Completa los siguientes TODOs en el código de plantilla:

  1. Implementa el constructor de TemperatureException:

    • Inicializa la clase base con el mensaje de error
    • Establece el valor de temperatura no válido
  2. Implementa la función validateTemperature:

    • Verifica si la temperatura está dentro de [-50°C, 100°C]
    • Lanza TemperatureException para valores no válidos

Requisitos

  • Rango de temperatura: -50°C a 100°C
  • Mensaje de error: "Temperature Error: Invalid temperature reading"
  • Debes utilizar la estructura de clase proporcionada
  • No modifiques la función main()

Ejemplos

Compila y ejecuta el código para probar la función de validación de temperatura. El programa debe lanzar una TemperatureException para lecturas de temperatura no válidas.

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

Temperatura válida:

Testing valid temperature:
Temperature 25.0°C is valid.

Temperatura no válida:

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

Pistas

  • Utiliza el constructor de std::runtime_error para establecer el mensaje de error
  • Almacena la temperatura no válida como un miembro privado de la clase de excepción
  • Crea un método getter para recuperar el valor de temperatura no válido
✨ Revisar Solución y Practicar

Resumen

En resumen, este desafío te requiere crear una clase personalizada TemperatureException que herede de std::runtime_error e implementar una función de validación de temperatura que lance la excepción personalizada para lecturas de temperatura no válidas. El objetivo es desarrollar un sólido sistema de manejo de excepciones para sensores de temperatura en investigación científica.