1. Propósito
1.1. Superclase de todas las clases que pueden ser lanzadas como excepciones en Java.
2. Utilidad General
2.1. Manejar condiciones excepcionales en programas Java.
2.1.1. Errores Esperados
2.1.1.1. A través de subclases de Exception.
2.1.2. Errores Graves
2.1.2.1. A través de subclases de Error.
3. Métodos Principales
3.1. String getMessage()
3.1.1. Devuelve el mensaje de detalle asociado con la excepción. Es útil para comprender la naturaleza exacta del problema.
3.2. Throwable getCause()
3.2.1. Devuelve la causa raíz de la excepción, permitiendo entender errores encadenados.
3.3. void printStackTrace()
3.3.1. Imprime el rastro de llamada al sistema estándar de error, útil para depurar.
3.4. StackTraceElement[] getStackTrace()
3.4.1. Obtiene el rastro de llamada como un arreglo. Útil para analizar y procesar programáticamente el origen de la excepción.
3.5. Throwable initCause(Throwable cause)
3.5.1. Establece la causa original de la excepción. Permite la creación de errores encadenados.
3.6. String toString()
3.6.1. Proporciona una representación textual del throwable, combina nombre de clase y mensaje de detalle
3.7. void printStackTrace(PrintStream s) void printStackTrace(PrintWriter s)
3.7.1. Imprime el rastro de llamada a la salida especificada. Es útil cuando se desea dirigir la salida a un lugar específico además de la consola.
3.8. synchronized Throwable fillInStackTrace()
3.8.1. Actualiza o rellena el rastro de llamada del throwable. Puede ser útil cuando se crea una nueva excepción a partir de una existente.
3.9. Throwable[] getSuppressed()
3.9.1. Devuelve las excepciones que fueron suprimidas, útil en contextos donde múltiples excepciones pueden ser recopiladas.
4. Subclases Principales
4.1. Error
4.1.1. Errores que no se esperan que las aplicaciones capturen.
4.2. Exception
4.2.1. Excepciones que las aplicaciones pueden querer capturar.
4.2.1.1. RuntimeException
4.2.1.1.1. Excepciones no comprobadas que pueden ocurrir durante la ejecución normal.