Hay muchos escenarios en el desarrollo de aplicaciones empresariales que se necesita usar RuntimeException en lugar de la excepción, siguientes son dos de esos escenarios que son bastante comunes:
- bien la aplicación de manejo de excepciones como un aspecto (que separa el principio de empresa de diseño), en la mayoría de los frameworks modernos, usted declararía manejar excepciones y asociaría bloques específicos de manejo de excepciones en lugar de hardcoding. Un buen ejemplo de esto es la plantilla JDBC en Spring que convierte todas las excepciones de SQL en RuntimeException para que el desarrollador no escriba try catch blocks mientras escribe lógica de acceso a datos. puede definir el manejador de excepciones declarativamente que puede proporcionar un comportamiento diferente en dev env. y diferente comportamiento en la producción. Implementación similar existe en la clase de acción Struts 1.x también, donde el método de ejecución se declara para lanzar Exception y hay un ExceptionHandler por separado mapeado en struts-config para manejar excepciones específicas. Aunque este no es un ejemplo de RuntimeException, el principio de diseño es el mismo para separar la preocupación de la ejecución normal y el manejo de excepciones.
- Otro uso de RuntimeException es en EJB y otros Administradores de transacciones donde las transacciones son controlador por contenedor. En este tipo de contenedores por convención, si tiras RuntimeException dentro de su código de la transacción sería deshacer - el mismo no ocurriría si tiras Excepción
Estos son 2 escenarios que vienen inmediatamente a la mente habría otros escenarios de- curso.
Duplicate http://stackoverflow.com/questions/499437/in-java-when-should-i-create-a-checked-exception-and-when-should-it-be-a-runtim –