throw lanza una excepción manualmente. throws en la firma de un método declara que ese método puede lanzar una excepción (obligatorio para las checked).
void validarEdad(int edad) throws Exception {
if (edad < 0) {
throw new IllegalArgumentException("La edad no puede ser negativa");
}
}
Checkedel compilador OBLIGA a manejarlas (try/catch o throws). Ej: IOException.
Unchecked(RuntimeException y subclases) no son obligatorias de manejar. Ej: NullPointerException, ArithmeticException.
Pon a prueba lo que aprendiste
Concepto
¿Para qué sirve la palabra clave throw?
APara capturar una excepción
BPara declarar que un método puede fallar
CPara lanzar una excepción manualmente
DPara cerrar un archivo
Ver respuesta
C) Para lanzar una excepción manualmente Throw crea y lanza una excepción explícitamente.
throws
¿Para qué se usa 'throws' en la firma de un método?
APara capturar la excepción dentro del método
BPara lanzar la excepción inmediatamente
CPara declarar que ese método puede lanzar una excepción checked
DPara evitar cualquier excepción
Ver respuesta
C) Para declarar que ese método puede lanzar una excepción checked Throws avisa al que llama al método que debe manejar (o propagar) esa excepción.
Checked vs unchecked
¿Cuál es la diferencia principal entre excepciones checked y unchecked?
ALas unchecked son más graves
BLas checked solo existen en interfaces
CNo hay ninguna diferencia real
DLas checked, el compilador obliga a manejarlas; las unchecked no
Ver respuesta
D) Las checked, el compilador obliga a manejarlas; las unchecked no Checked requieren try/catch o throws obligatoriamente; unchecked (RuntimeException) no.
🎯 Practica esta lección completa
Ejercicios de completar código, ordenar bloques y respuesta libre. Ganas XP y mantienes tu racha.