回顾:安全除法
本课属于 Coddy Dart 学习旅程的“逻辑与流程控制”单元。第 43 课,共 65 课。
挑战
简单创建一个使用异常处理实现安全除法计算器的程序。程序应妥善处理除以零的错误,并在发生错误时向用户提供清晰的反馈。
- 读取一个表示第一个数字(被除数)的字符串输入
- 读取一个表示第二个数字(除数)的字符串输入
- 创建一个名为
safeDivision的函数,该函数接受两个 double 参数并返回一个 double 结果 - 函数应使用
try-catch块处理可能出现的除法错误: - 在
try块中:检查除数是否为零。如果是,则抛出一条消息为"Division by zero is not allowed"的异常;否则执行除法 - 在
catch块中:处理异常,并返回0.0作为安全的默认值 - 使用
double.parse()将输入字符串转换为 double 值 - 使用转换后的值调用
safeDivision函数 - 按照下方显示的确切格式输出结果
例如,如果输入是 "10.0" 和 "2.0",程序应输出:
Safe Division Calculator
========================
First number: 10.0
Second number: 2.0
Performing division...
Result: 5.0
Operation completed successfully如果输入是 "15.0" 和 "0.0",程序应输出:
Safe Division Calculator
========================
First number: 15.0
Second number: 0.0
Performing division...
Error: Division by zero is not allowed
Using safe default value: 0.0
Operation completed with error handling如果输入是 "7.5" 和 "2.5",程序应输出:
Safe Division Calculator
========================
First number: 7.5
Second number: 2.5
Performing division...
Result: 3.0
Operation completed successfully程序必须实现 safeDivision 函数,并使用 try-catch 块处理除以零的情况。在 try 块中,检查除数是否等于 0.0,如果是,则使用 throw 关键字手动触发异常。在 catch 块中,输出错误消息,并返回 0.0 作为安全的备用值。主程序应调用此函数,并根据是否发生错误输出不同的完成消息。
亲手试试
import 'dart:io';
// TODO:在这里创建 safeDivision 函数
void main() {
// 读取输入
String? firstInput = stdin.readLineSync();
String? secondInput = stdin.readLineSync();
// 将字符串转换为 double 类型
double firstNumber = double.parse(firstInput!);
double secondNumber = double.parse(secondInput!);
// 显示标题
print("Safe Division Calculator");
print("========================");
print("First number: $firstNumber");
print("Second number: $secondNumber");
print("Performing division...");
// TODO:调用 safeDivision 函数并处理结果
// 记得检查是否发生错误,并显示相应的完成提示
}逻辑与流程控制中的所有课
自己练习: Dart 在线编译器