回顾:安全除法
本课属于 Coddy C++ 学习旅程的“逻辑与流程”单元。第 53 课,共 56 课。
挑战
简单创建一个使用全面异常处理实现安全除法的程序。这个挑战将测试你结合函数设计和异常处理的能力,让程序能够妥善处理除以零错误。
将提供以下输入:
- 一个 double 类型的
numerator,表示要被除的数 - 一个 double 类型的
denominator,表示除数
你的程序应当:
- 创建一个名为
safeDivide的函数,它接受两个 double 类型的参数(numerator 和 denominator) - 在函数内部,检查 denominator 是否等于零
- 如果 denominator 为零,则
throw字符串"Division by zero error" - 如果 denominator 不为零,则计算除法结果,并将其作为 double 类型的值返回
- 在 main 函数中,在
try块内使用输入值调用safeDivide - 使用
catch块处理抛出的字符串异常 - 根据除法是否成功,打印相应的消息
使用以下确切的输出格式:
除法成功时:
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++ 在线编译器