Menu
Coddy logo textTech

Resumen - División segura

Parte de la sección Lógica y Flujo del Journey de Dart de Coddy — lección 43 de 65.

challenge icon

Desafío

Fácil

Crea un programa que implemente una calculadora de división segura utilizando el manejo de excepciones. Tu programa debe manejar los errores de división por cero de manera adecuada y proporcionar comentarios claros a los usuarios cuando ocurran errores.

  1. Lee una entrada de cadena que represente el primer número (dividendo)
  2. Lee una entrada de cadena que represente el segundo número (divisor)
  3. Crea una función llamada safeDivision que tome dos parámetros double y devuelva un resultado double
  4. La función debe usar un bloque try-catch para manejar posibles errores de división:
    • En el bloque try: Verifica si el divisor es cero y lanza una excepción con el mensaje "Division by zero is not allowed" si es verdadero, de lo contrario realiza la división
    • En el bloque catch: Maneja la excepción y devuelve 0.0 como un valor predeterminado seguro
  5. Convierte las cadenas de entrada a valores double usando double.parse()
  6. Llama a la función safeDivision con los valores convertidos
  7. Muestra los resultados en el formato exacto que se muestra a continuación

Por ejemplo, si las entradas son "10.0" y "2.0", tu programa debería mostrar:

Safe Division Calculator
========================
First number: 10.0
Second number: 2.0
Performing division...
Result: 5.0
Operation completed successfully

Si las entradas son "15.0" y "0.0", tu programa debería mostrar:

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

Si las entradas son "7.5" y "2.5", tu programa debería mostrar:

Safe Division Calculator
========================
First number: 7.5
Second number: 2.5
Performing division...
Result: 3.0
Operation completed successfully

Tu programa debe implementar la función safeDivision que utiliza un bloque try-catch para manejar la división por cero. En el bloque try, verifica si el divisor es igual a 0.0 y usa la palabra clave throw para activar manualmente una excepción si es verdadero. En el bloque catch, imprime el mensaje de error y devuelve 0.0 como un valor de respaldo seguro. El programa principal debe llamar a esta función y mostrar diferentes mensajes de finalización según si ocurrió un error o no.

Pruébalo tú mismo

import 'dart:io';

// TODO: Crea la función safeDivision aquí

void main() {
  // Leer entrada
  String? firstInput = stdin.readLineSync();
  String? secondInput = stdin.readLineSync();
  
  // Convertir cadenas a double
  double firstNumber = double.parse(firstInput!);
  double secondNumber = double.parse(secondInput!);
  
  // Mostrar encabezado
  print("Safe Division Calculator");
  print("========================");
  print("First number: $firstNumber");
  print("Second number: $secondNumber");
  print("Performing division...");
  
  // TODO: Llamar a la función safeDivision y manejar el resultado
  // Recuerda verificar si ocurrió un error para mostrar el mensaje de finalización apropiado
  
}

Todas las lecciones de Lógica y Flujo