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 Kotlin
Usa toInt(), que lanza la excepción; toIntOrNull() 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:
fun main() {
print("Escribe un entero: ")
try {
val n = readln().toInt()
println("Has escrito $n")
// ... (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:
class ContrasenaIncorrecta(mensaje: String) : Exception(mensaje)
fun comprobar(intento: String) {
val guardada = "secreto"
if (intento != guardada) {
throw ContrasenaIncorrecta("Incorrect Password!!")
// ... (resto de la solución bloqueado)