Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Creando nuestra propia excepción

Teniendo en cuenta la sugerencia del profesor, realicé la modificación utilizando la clase URLEncoder creando un variable de tipo String en la que utilizo el método encode, al cual le paso como parámetro el String de búsqueda correspondiente a lo que el usuario ingrese mediante Scanner y el formato a partir del cual se codifica el String "busqueda". El código quedaría así:

//Clases importadas para el funcionamiento del encode
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;

    //Líneas que dan sentido a los cambios realizados
    Scanner entrada = new Scanner(System.in);
    System.out.println("Escriba el nombre de la película: ");
    var busqueda= entrada.nextLine();

    String busquedaCodificada = URLEncoder.encode(busqueda, StandardCharsets.UTF_8);
    String direccion = "https://www.omdbapi.com/?t="+busquedaCodificada+"&apikey=c709162f";
1 respuesta

¡Hola! Espero que estés teniendo un buen día. Parece que estás en el camino correcto al utilizar URLEncoder para codificar la cadena de búsqueda que el usuario ingresa. Esto es una buena práctica para asegurarse de que los caracteres especiales en la URL se manejen correctamente.

En cuanto a la creación de tu propia excepción, parece que el contexto de la actividad sugiere que deberías practicar cómo crear una excepción personalizada. Esto es útil cuando te encuentras con situaciones específicas que las excepciones estándar de Java no cubren adecuadamente.

Aquí tienes un ejemplo de cómo podrías crear una excepción personalizada basada en el contexto proporcionado:

  1. Crea una nueva clase para tu excepción personalizada que extienda RuntimeException:
public class ErrorEnConversionDeDuraciónExcepción extends RuntimeException {
    private String mensaje;

    public ErrorEnConversionDeDuraciónExcepción(String mensaje) {
        this.mensaje = mensaje;
    }

    @Override
    public String getMessage() {
        return this.mensaje;
    }
}
  1. Usa esta excepción en tu código principal cuando detectes un error específico:
public class Principal {
    public static void main(String[] args) {
        try {
            // Aquí iría el código que podría lanzar la excepción
            // Por ejemplo, si detectas un error en la conversión de duración:
            String runtime = "n /"; // Ejemplo de un valor problemático
            if (runtime.contains("n /")) {
                throw new ErrorEnConversionDeDuraciónExcepción("No pude convertir la duración porque contiene una barra invertida n");
            }
        } catch (ErrorEnConversionDeDuraciónExcepción e) {
            System.out.println(e.getMessage());
        } catch (Exception e) {
            System.out.println("Ocurrió un error inesperado");
        }
    }
}

Este enfoque te permite manejar errores específicos de manera más clara y, al mismo tiempo, te da la oportunidad de aprender a crear y manejar excepciones personalizadas. Espero que esto te sea de ayuda y te deseo mucho éxito en tus estudios.