创建自定义异常处理器

C++C++Beginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本挑战中,你将为科学研究中的温度传感器开发一个健壮的异常处理系统。目标是创建一个继承自 std::runtime_error 的自定义 TemperatureException 类,并实现一个温度验证函数,该函数在检测到无效温度读数时抛出该自定义异常。


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{{"创建自定义异常处理器"}} cpp/inheritance -.-> lab-446292{{"创建自定义异常处理器"}} cpp/exceptions -.-> lab-446292{{"创建自定义异常处理器"}} end

创建温度异常处理器

在科学研究中,准确的温度监测至关重要。你的任务是开发一个健壮的温度传感器异常处理系统,能够检测并报告无效的读数。

任务

在模板代码中完成以下 TODO:

  1. 实现 TemperatureException 构造函数:

    • 使用错误消息初始化基类
    • 设置无效的温度值
  2. 实现 validateTemperature 函数:

    • 检查温度是否在 [-50°C, 100°C] 范围内
    • 对于无效值,抛出 TemperatureException

要求

  • 温度范围:-50°C 至 100°C
  • 错误消息:"Temperature Error: Invalid temperature reading"
  • 必须使用提供的类结构
  • 不要修改 main() 函数

示例

编译并运行代码以测试温度验证函数。程序应在检测到无效温度读数时抛出 TemperatureException

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

有效温度:

测试有效温度:
温度 25.0°C 是有效的。

无效温度:

Temperature Error: Invalid temperature reading
无效温度:150°C

提示

  • 使用 std::runtime_error 的构造函数设置错误消息
  • 将无效温度存储为异常类的私有成员
  • 创建一个 getter 方法以获取无效温度值
✨ 查看解决方案并练习

总结

总结来说,本挑战要求你创建一个继承自 std::runtime_error 的自定义 TemperatureException 类,并实现一个温度验证函数,该函数在检测到无效温度读数时抛出该自定义异常。目标是开发一个用于科学研究中温度传感器的健壮异常处理系统。