Excepciones no verificadas en Java: ¿Heredar de error o RuntimeException?

Me gustaría manejar errores con excepciones (sin marcar). Escuché que para cada tipo de excepción debería crear una subclase de Error o RuntimeException. ¿Cual es la diferencia?

Respuesta 1

Errorsdebe identificar problemas programáticos irrecuperables (por ejemplo, sin memoria). Exceptionsdebe identificar problemas recuperables programáticamente que son causados ​​por condiciones inesperadas fuera del control del código (por ejemplo, base de datos inactiva) RuntimeExceptionsdebe identificar problemas recuperables mediante programación que son causados ​​por fallas en el flujo de código (léase: fallas del desarrollador, como puntero nulo, argumento ilegal, etc.).

En su caso, desea heredar de RuntimeException.

Respuesta: 2

Creo que los JavaDocs lo dicen todo:

Una Errores una subclase de Throwable * que indica problemas serios que una aplicación razonable * no debe intentar detectar. La mayoría de estos errores son condiciones anormales. * El ThreadDeatherror, aunque es una condición "normal", * también es una subclase de Errorporque la mayoría de las aplicaciones * no deberían intentar detectarlo.

Estas son cosas como stackoverflow, sin memoria ... desea extender RuntimeException.

Respuesta: 3

RuntimeException es un tipo especial de excepción, excepciones que el compilador no detectará. El error es algo que se produce cuando hay algún problema grave del sistema. No existe una relación estrecha entre Error y RuntimeException. La suya parece más cercana a RuntimeException.

Respuesta: 4

Quiero adaptar slf4j con Logback en una aplicación heredada. Lo bueno es que la aplicación heredada tiene su propio marco de registro. Entonces, todo lo que tuve que hacer es alterar el marco de registro para iniciar sesión en slf4j ...

Estoy tratando de cambiar el color de la fuente que uso en mi aplicación. Pero lo que sea que pruebe, la fuente sigue siendo negra. Hice esta fuente usando la herramienta de fuente Hiero. Mi código es algo como esto: SpriteBatch ...

Revisé esta página y obtuve un código útil para usar un proxy en código Java cuando me conecté a una página web. Puedo confirmar que páginas como Whatsmyip realmente me dicen que el proxy está funcionando, es ...

Estoy tratando de hacer mi clase de validación para mi programa. Ya establecí la conexión a la base de datos MySQL y ya inserté filas en la tabla. La tabla consta de firstName, lastName ...