Saltar a contenido

P2.3 · Captura de excepciones

Salvo que se diga lo contrario, el objetivo es que ninguna excepción llegue al programa principal y lo aborte. Controla cualquier dato incorrecto que pueda introducir el usuario.

Ejercicio 2.3.1

Pide la edad y muestra todos los años cumplidos (de 1 hasta su edad). Controla que lo escrito sea un número.

Ejercicio 2.3.2

Pide un entero positivo y muestra los impares de 1 hasta ese número, separados por comas. Controla las entradas incorrectas.

Ejercicio 2.3.3

Pide un entero positivo y muestra la cuenta atrás hasta cero. Repite la petición hasta que el número sea correcto.

Ejercicio 2.3.4

Pide un entero. Si la entrada no es correcta, muestra La entrada no es correcta y vuelve a lanzar la excepción capturada.

En Dart

Usa int.parse, que lanza FormatException; int.tryParse no la lanza y devuelve null.

Solución modelo (bloqueada)

🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:

import 'dart:io';
void main() {
  stdout.write('Escribe un entero: ');
  try {
    final n = int.parse(stdin.readLineSync()!);
// ... (resto de la solución bloqueado)

Ejercicio 2.3.5

Pide una contraseña y, si no coincide con la guardada, lanza una excepción propia con el mensaje Incorrect Password!!.

Solución modelo (bloqueada)

🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:

import 'dart:io';
class ContrasenaIncorrecta implements Exception {
  final String mensaje;
  ContrasenaIncorrecta(this.mensaje);
  @override
// ... (resto de la solución bloqueado)