Menu
CoddyTech

回顾:安全除法

本课属于 Coddy C++ 学习旅程的“逻辑与流程”单元。第 53 课,共 56 课。

challenge icon

挑战

简单

创建一个使用全面异常处理实现安全除法的程序。这个挑战将测试你结合函数设计和异常处理的能力,让程序能够妥善处理除以零错误。

将提供以下输入:

  • 一个 double 类型的 numerator,表示要被除的数
  • 一个 double 类型的 denominator,表示除数

你的程序应当:

  1. 创建一个名为 safeDivide 的函数,它接受两个 double 类型的参数(numerator 和 denominator)
  2. 在函数内部,检查 denominator 是否等于零
  3. 如果 denominator 为零,则 throw 字符串 "Division by zero error"
  4. 如果 denominator 不为零,则计算除法结果,并将其作为 double 类型的值返回
  5. 在 main 函数中,在 try 块内使用输入值调用 safeDivide
  6. 使用 catch 块处理抛出的字符串异常
  7. 根据除法是否成功,打印相应的消息

使用以下确切的输出格式:

除法成功时:

Result: [division_result]

除以零错误时:

Error: Division by zero error

请记住,当 denominator 为零时,你的函数应立即 throw 异常,不要尝试进行除法。catch 块应指定类型 const char*,以处理抛出的字符串字面量。抛出异常时,程序会从 throw 语句直接跳转到匹配的 catch 块,从而避免发生除以零的情况,让程序能够妥善处理错误,而不是崩溃。

亲手试试

#include <iostream>
using namespace std;

int main() {
    // 读取输入
    double numerator, denominator;
    cin >> numerator >> denominator;
    
    // TODO:在这里编写你的代码
    // 在 main() 上方创建 safeDivide 函数
    // 使用 try-catch 块处理异常
    
    return 0;
}

逻辑与流程中的所有课

自己练习: C++ 在线编译器