Middle
¿Qué métodos existen para manejar excepciones verificadas?
sobes.tech AI
Respuesta de la IA
- Usar el bloque
try-catch: permite capturar excepciones y manejarlas, evitando que el programa termine de forma inesperada. - Declarar que un método lanza una excepción, usando la palabra clave
throwsen la firma del método: esto transfiere la responsabilidad del manejo al código que llama. - Envolver una excepción verificable en una no verificable: permite lanzar la excepción sin manejo explícito, pero puede ocultar un problema real.
Ejemplo de uso de try-catch:
// Ejemplo de uso de try-catch para manejar una excepción verificable
try {
// Código que puede lanzar una excepción verificable (por ejemplo, IOException)
FileReader file = new FileReader("my_file.txt");
// Trabajar con el archivo...
} catch (IOException e) {
// Manejo de IOException
e.printStackTrace(); // Mostrar la pila de llamadas para depuración
System.err.println("Error al trabajar con el archivo: " + e.getMessage());
}
Ejemplo de uso de throws:
// Ejemplo de uso de throws en la firma del método
public void readFile(String fileName) throws IOException {
FileReader file = new FileReader(fileName);
// Trabajar con el archivo...
}
// El código que llama debe manejar IOException o declararla en su propia firma
public void processFile(String filePath) {
try {
readFile(filePath);
} catch (IOException e) {
System.err.println("Error al leer el archivo: " + e.getMessage());
}
}
Ejemplo de envolver en una excepción no verificable:
// Ejemplo de envolver una excepción verificable en una no verificable
public void unsafeOperation() {
try {
// Código que puede lanzar una excepción verificable
throw new IOException("Ejemplo de IOException");
} catch (IOException e) {
// Convertir la excepción verificable en una no verificable
throw new RuntimeException("Se detectó un error en la operación", e);
}
}