Hola Leviathan, ¡espero que estés bien!
Valoramos los comentarios de modo que siempre buscamos mejorar nuestro contenido. Lamentamos que esté frustrado con esta actividad y le pido que si tiene alguna pregunta sobre la actividad puede hablar aquí en el foro o en el servidor del grupo en Discord.
Incluso con el profesor explicando, la práctica es esencial realmente, así que sugiero hacer pequeños ejercicios sobre el tema. Dejo aquí un ejemplo con la excepción mencionada en la actividad: NullPointer.
Este código Java está demostrando cómo manejar errores (exceptions) en un programa. Aquí te lo explico paso a paso para que lo entiendas mejor:
- Inicializando una variable sin valor:
Persona p = null;
Se declara una variable llamada p de tipo Persona. Inmediatamente se le asigna el valor null. Null significa que la variable no apunta a ningún objeto creado en memoria.
- Intentando acceder a un atributo del objeto nulo:
System.out.println(p.getNombre());
Esta línea intenta imprimir el valor del atributo nombre del objeto p. El problema es que p está nulo, lo que significa que no hay ningún objeto al cual acceder. Intentar utilizar un objeto nulo de esta manera causará un error.
- Manejando el error (exception):
try {
// ... el código que puede causar errores ...
} catch (Exception e) {
// código a ejecutar si ocurre cualquier tipo de error
}
La parte try...catch es una estructura utilizada para manejar errores.
El bloque try contiene el código que podría causar un error (en este caso, acceder a un atributo de un objeto nulo).
El bloque catch se ejecuta si ocurre un error dentro del bloque try.
- Capturando excepciones específicas:
try {
// ... el código que puede causar errores ...
} catch (Exception e) {
System.out.println("Exception");
} catch (NullPointerException e) {
System.out.println("Null Pointer Exception");
}
En este ejemplo, el código try...catch tiene dos bloques catch separados.
El primer catch(Exception e) captura cualquier tipo de error (Exception) que ocurra dentro del bloque try.
El segundo catch(NullPointerException e) captura específicamente un error de tipo NullPointerException. Este error ocurre cuando intentas acceder a un miembro (como un atributo) de un objeto nulo.
- Imprimiendo mensajes de error:
System.out.println("Exception");
System.out.println("Null Pointer Exception");
Dentro de cada bloque catch, se imprime un mensaje de error diferente dependiendo del tipo de error capturado.
Este código simula un error al intentar acceder a un atributo de un objeto nulo. Luego, demuestra cómo utilizar la estructura try...catch para manejar este error. En el ejemplo, se capturan dos tipos de errores: cualquier tipo de excepción (Exception) y la específica NullPointerException.
También os dejo un artículo sobre esta excepción que tenemos en la plataforma: https://www.aluracursos.com/blog/evite-nullpointerexception-en-Java
¡Saludos y buenos estudios!