创建自定义异常处理器

C++Beginner
立即练习

介绍

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

这是一个「挑战」项目,它与「引导实验」不同,你需要尝试独立完成挑战任务,而不是跟随实验步骤学习。挑战通常具有一定的难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。历史数据显示,这是一个初学者级别的挑战,通过率为 94%。它在学习者中获得了 100% 的好评率。

创建温度异常处理器

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

任务

在模板代码中完成以下待办事项(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

有效温度输出:

Testing valid temperature:
Temperature 25.0°C is valid.

无效温度输出:

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

提示

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

总结

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