Java - Runtime Exception
Concepto
-
Es la superclase de aquellas
excepciones
que se pueden lanzar durante el funcionamiento normal de la máquina virtual de Java.-
RuntimeException
y sus subclases son excepciones no verificadas -
Las
excepciones
no comprobadas no necesitan declararse en la cláusulathrows
de unmétodo
oconstructor
si pueden generarse mediante la ejecución delmétodo
oconstructor
y propagarse fuera del límite delmétodo
oconstructor
-
-
Son excepciones que se pueden dejar sin tratar hasta el último momento ya que el programador no tiene la obligación de tratarlo , se pueden controlar pero el problema lo genera situaciones fuera del ámbito del usuario , están enfocadas a errores provocados por el programa
Ejemplos de Runtime Exceptions
NumberFormatException
-
Lanzado para indicar que la aplicación ha intentado convertir una cadena a uno de los tipos numéricos, pero que la cadena no tiene el formato adecuado
-
Este error se produce cuando se da un formateo erróneo a un elemento del tipo String y se realiza una conversión a un tipo entero
- El formato numérico como elemento del tipo String esta mal editado o escrito lo que hace imposible su conversión
String s = "984,,321";
int num = Integer.parseInt(s);
empleado.setSalario(num);
NullPointerException
-
Se lanza esta excepción cuando se intenta acceder a una posición de memoria de un elemento tanto del tipo String como del tipo array y en ella no se encuentra ningún elemento
-
Ejemplo tipo String
String s = null;
s.toString();
- Ejemplo tipo Array
int[] ar = { 1, 2, 3, 4, 5 };
System.out.println(ar[6]);
Consejo sobre Excepciones
-
Lanzar una Excepciones de un tipo distinto a la que hemos capturado , no olvidemos pasarte a esta nueva excepción a la excepciones capturadas para no perder nunca la causa original del problema
-
Ejemplo Incorrecto
/**
* No añadimos la variable 'npe' al catch
*
* @throws Exception
*/
public static void lanzarExcepcionSinDetalle() throws Exception {
Nulo3 nulo = null;
try {
nulo.loQueSea();
} catch (NullPointerException npe) {
// " MALA PRACTICA " - No le pasamos la variable 'npe' a la Excepción original para que se muestre el error
throw new Exception();
}
}
- Ejemplo Correcto
/**
* añadimos la variable 'npe' al catch
*
* @throws Exception
*/
public static void lanzarExcepcionConDetalle() throws Exception {
Nulo3 nulo = null;
try {
nulo.loQueSea();
} catch (NullPointerException npe) {
// " BUENA PRACTICA " - Le pasamos la variable 'npe' a la Excepción original para que se muestre el error
throw new Exception(npe);
}
}
Deja un comentario