Saltar al contenido

Diferencia entre java.lang.RuntimeException y java.lang.Exception

Nuestros desarrolladores estrellas agotaron sus depósitos de café, buscando a tiempo completo por la respuesta, hasta que Xavier encontró la solución en Gitea así que ahora la compartimos con nosotros.

Solución:

En general RuntimeExceptions son excepciones que se puede prevenir mediante programación. P.ej NullPointerException, ArrayIndexOutOfBoundException. Si busca null antes de llamar a cualquier método, NullPointerException nunca ocurriría. similar ArrayIndexOutOfBoundException nunca ocurriría si primero verificas el índice. RuntimeException el compilador no los comprueba, por lo que es un código limpio.

EDITAR : En estos días la gente favorece RuntimeException porque el código limpio que produce. Es una elección totalmente personal.

En Java, hay dos tipos de excepciones: excepciones marcadas y excepciones no marcadas. Una excepción marcada debe ser manejada explícitamente por el código, mientras que una excepción no marcada no necesita ser manejada explícitamente.

Para las excepciones marcadas, debe colocar un bloque try / catch alrededor del código que podría generar la excepción, o agregar una cláusula “throws” al método, para indicar que el método podría generar este tipo de excepción (que debe ser manejado en la clase de llamada o superior).

Cualquier excepción que se derive de “Exception” es una excepción marcada, mientras que una clase que se deriva de RuntimeException no está marcada. RuntimeExceptions no necesita ser manejado explícitamente por el código de llamada.

Antes de mirar la diferencia entre java.lang.RuntimeException y java.lang.Exception clases, debes conocer las Exception jerarquía. Ambos Exception y Error las clases se derivan de la clase Throwable (que se deriva de la clase Object). Y la clase RuntimeException se deriva de la clase Exception.

Todas las excepciones se derivan de Exception o RuntimeException.

Todas las excepciones que se derivan de RuntimeException se conocen como desenfrenado excepciones. Y todas las demás excepciones son comprobado excepciones. Una excepción marcada debe capturarse en algún lugar de su código, de lo contrario, no se compilará. Por eso se denominan excepciones comprobadas. Por otro lado, con excepciones no comprobadas, el método de llamada no tiene la obligación de manejarlo o declararlo.

Por lo tanto, todas las excepciones que el compilador le obliga a manejar se derivan directamente de java.lang.Exception y todos los demás que el compilador no le obliga a manejar se derivan de java.lang.RuntimeException.

A continuación se muestran algunas de las subclases directas conocidas de RuntimeException.

AnnotationTypeMismatchException,
ArithmeticException,
ArrayStoreException,
BufferOverflowException,
BufferUnderflowException,
CannotRedoException,
CannotUndoException,
ClassCastException,
CMMException,
ConcurrentModificationException,
DataBindingException,
DOMException,
EmptyStackException,
EnumConstantNotPresentException,
EventException,
IllegalArgumentException,
IllegalMonitorStateException,
IllegalPathStateException,
IllegalStateException,
ImagingOpException,
IncompleteAnnotationException,
IndexOutOfBoundsException,
JMRuntimeException,
LSException,
MalformedParameterizedTypeException,
MirroredTypeException,
MirroredTypesException,
MissingResourceException,
NegativeArraySizeException,
NoSuchElementException,
NoSuchMechanismException,
NullPointerException,
ProfileDataException,
ProviderException,
RasterFormatException,
RejectedExecutionException,
SecurityException,
SystemException,
TypeConstraintException,
TypeNotPresentException,
UndeclaredThrowableException,
UnknownAnnotationValueException,
UnknownElementException,
UnknownTypeException,
UnmodifiableSetException,
UnsupportedOperationException,
WebServiceException 

Te mostramos reseñas y puntuaciones

Al final de todo puedes encontrar las notas de otros desarrolladores, tú asimismo tienes la habilidad mostrar el tuyo si lo crees conveniente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *