Clase de excepción Java Throwable VS
-
Introducción a la clase
Throwable
en Java -
Introducción a la clase
Excepción
en Java -
Qué clase debemos usar,
Throwable
oException
Este artículo nos enseñará cuándo usar las clases Throwable
y Exception
en Java. Ambas clases tienen sus constructores y métodos para manejar errores y excepciones.
Primero, veremos la introducción de Throwable
y Exception
de ambas clases, y después de eso, aprenderemos la diferencia entre ambos.
Introducción a la clase Throwable
en Java
En la jerarquía de las clases java.lang
, la clase Throwable
es el padre o superclase de las clases Error
y Exception
. Significa que el Error
y la Excepción
son heredados por la clase Throwable
en Java.
Concluye que la clase Throwable
puede capturar todos los errores y excepciones producidos por la Máquina Virtual Java, ya sea errores de seguimiento de pila o excepciones de tiempo de ejecución o compilación.
Además, la clase Throwable
implementa la interfaz Serializable
en la biblioteca java.lang
donde se define.
Los usuarios pueden ver la definición de la clase Throwable
a continuación.
public class Throwable extends Object implements Serializable
En la definición de clase anterior, los usuarios pueden ver que la clase Throwable
hereda la clase Object
e implementa la interfaz Serializable
.
Sintaxis de Throwable
:
try {
// some code
} catch (Throwable e) {
// handle errors or exceptions
}
La clase Throwable
contiene los constructores sobrecargados, que se explican a continuación.
Constructores
Throwable() |
Este constructor crea una nueva instancia de Throwable con un mensaje de error predeterminado. |
Lanzable (Mensaje de error de cadena) |
Este constructor crea una nueva instancia de Throwable con un mensaje errorMessage . |
Lanzable (Cadena de mensaje de error, Causa de error lanzable) |
Este constructor también toma la causa del mensaje de error y crea una nueva instancia de Throwable con errorMessage y errorCause . |
Lanzable(Causa del error arrojable) |
Este constructor crea la nueva instancia de Throwable con una causa específica pasada como parámetro. |
Métodos
Aquí hemos explicado algunos métodos de la clase Throwable
.
toString() |
Devuelve la descripción del error en formato de cadena. |
getMessage() |
Devuelve el mensaje de error en formato de cadena. |
getCause() |
Devuelve la causa de la instancia actual de un Throwable . |
getLocalizedMessage() |
Devuelve la descripción localizada de Throwable . |
getStackTrace() |
Proporciona información sobre el seguimiento de la pila. |
printStackTrace() |
Imprime la instancia actual de Throwable . |
setStackTrace(StackTraceElement[] stackTrace) |
Permite configurar el elemento de seguimiento de pila devuelto por el método getStackTrace() . |
initCause(Causa descartable) |
Permite a los usuarios inicializar la causa del Lanzable actual. |
errores
La clase Errores
incluye errores que detienen la ejecución del programa.
StackOverflowError |
Ocurre cuando se produce un desbordamiento de pila o montón. |
AssertionError |
Ocurre debido a una falla en la aserción. |
VirtualMachineError |
Almacena en caché todos los errores en Java Virtual Machine. |
LinkageError |
Ocurre debido a un problema de vinculación. |
OutOfMemoryError |
Ocurre debido a poca memoria en su dispositivo o JVM se está quedando sin memoria. |
Introducción a la clase Excepción
en Java
En Java, las excepciones son eventos no deseados que ocurren en tiempo de ejecución o compilación. Las excepciones se pueden detectar en el momento de la compilación, denominadas excepciones comprobadas, y las excepciones solo se pueden detectar en el tiempo de ejecución, denominadas excepciones no comprobadas.
Sintaxis de Throwable
:
try {
// some code
} catch (Exception e) {
// handle Exceptions only
}
Aquí, hemos definido algunos tipos de excepciones en Java.
RuntimeException |
Todas las clases de excepciones no verificadas lo heredan. |
NullPointerException |
Ocurre debido a un valor nulo o indefinido. |
ArithmeticException |
Ocurre debido a la falla de una operación aritmética. |
ArrayIndexOutOfBoundsException |
Ocurre cuando intentamos acceder a un índice de matriz mayor que su longitud. |
NoSuchMethodException |
Ocurre cuando el método no está definido. |
IOException |
Ocurre debido a la falla de las operaciones de entrada/salida. |
ClassNotFoundException |
Ocurre cuando la clase no está definida. |
SQLException |
La falla de la operación de la base de datos es la causa de esta excepción. |
Los programadores también pueden definir excepciones al heredar la clase Exception
de Java.
Qué clase debemos usar, Throwable
o Exception
Cuando observamos la sintaxis de las clases Throwable
y Exception
, parece similar a primera vista, ya que estamos usando ambas con el bloque try-catch
.
La instancia de la clase Throwable
puede atrapar los errores y las excepciones, ya que son una subclase de Throwable
, pero la instancia de Exceptions
solo puede atrapar las excepciones que ocurren en el programa.
En las aplicaciones Java normales, rara vez se producen errores como LinkageError
, VirtualMachineError
, OutOfMemoryError
, etc. Principalmente se produce una excepción debido al error del usuario.
Por lo tanto, es una buena práctica usar la instancia de la clase Exception
en lugar de la clase Throwable
.
Artículo relacionado - Java Exception
- Arreglar Java.Net.SocketException: error de tubería rota en Java
- Comprender la excepción de tiempo de ejecución en Java
- Corrija la excepción Java.Net.BindException: la dirección ya está en uso: Bind
- El proceso de Java Gateway se cerró antes de enviar su número de puerto
- Excepción de entrada no válida en Java