Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] En que casos me conviene extender de RuntimeException?

Buenas tardes! mi duda seria esa. Porque por lo que entiendo es mejor tener el codigo controlado extendiendo de Exception. Desde ya muchas gracias

1 respuesta

Hola Gisel, espero que estés bien.

Sugiero estudiar la documentación: Exceptions para una mejor comprensión.

La clase RuntimeException es una subclase directa de Exception.

RuntimeException se debe utilizar cuando la excepción se puede prevenir.

Considerada una excepción no verificada. Son muy utilizados en errores de programación que solo se pueden verificar en tiempo de ejecución, por lo que no es necesario capturar.

Como buena práctica, en Java, siempre que sea posible hacer algo con el problema, una excepción debe ser capturada, entonces este tipo de excepción debe ser evitada tanto como sea posible. Lo que no quiere decir que cualquier excepción debe ser capturada. Incluso las excepciones comprobadas a menudo lo mejor es delegar a otro método. Y los no verificados solo deben ser capturados si en ese contexto se puede hacer algo para recuperarse del error, incluso si es presentar un mensaje personalizado.

Para errores que deben ser prevenidos se usa la Exception que es más genérica e involucra cualquier excepción, inclusive ella puede ser una RuntimeException ya que todas las excepciones deben ser derivadas de Exception. También se usa indirectamente. Se considera una excepción verificada. Es decir, se comprueban todas las excepciones que no sean RuntimeException.

Cuando se usa una excepción comprobada, el código debe capturarla o usar throws en el método para delegar su captura.

Las excepciones de runtime no necesitan hacer esto, como su nombre indica, no deben ser consideradas por el compilador.

El programador debe analizar la situación y decidir si ese caso debe usar una excepción verificada o no, cuando es opcional.

el ideal es lanzar excepciones derivadas de esas clases y no ellas mismas que son genéricas e idealmente incluso deberían ser abstractas. Además, siempre es bueno hacer las excepciones más específicas posibles.

Espero que hayas ayudado y si surge más dudas estaremos aquí para ayudarte =)

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios.
_