¡Hola Diego!
Entiendo que estás trabajando en el manejo de excepciones en Java, específicamente en el contexto de consumir una API y manejar posibles errores. El manejo de excepciones es realmente crucial para hacer que nuestras aplicaciones sean más robustas y evitar fallos inesperados, como bien mencionaste.
En el ejercicio que estás realizando, se te pide que implementes una clase de excepción personalizada, ErrorEnConversionDeDuracionException
, para manejar un caso específico donde la duración de una película no pueda ser convertida adecuadamente. Esto es un excelente ejemplo de cómo podemos usar excepciones personalizadas para hacer que nuestro código sea más legible y específico en cuanto a los errores que puede manejar.
Además, el constructor de la clase Título
se ha modificado para lanzar esta excepción si la duración contiene "N/A", lo que significa que no está disponible. Esto es una buena práctica para validar datos y asegurarse de que el programa no falle en tiempo de ejecución debido a datos inesperados.
Por último, en la clase PrincipalConBusqueda
, se han añadido bloques try-catch
para manejar diferentes tipos de excepciones que pueden ocurrir durante la ejecución del programa, como problemas de formato de número, argumentos ilegales o errores específicos de conversión de duración.
Aquí tienes un ejemplo de cómo podrías probar este código:
- Ejecuta el programa y escribe el nombre de una película que sepas que está en la base de datos de OMDb.
- Observa cómo el programa maneja la búsqueda y convierte el título.
- Intenta buscar una película con un nombre que no exista o que tenga un formato de duración "N/A" para ver cómo se maneja la excepción personalizada.
Espero que este enfoque te ayude a entender mejor cómo manejar excepciones en Java y a implementar buenas prácticas en tu desarrollo. ¡Buenos estudios!