Veo que Guice y Spring usan la Alianza AOP bajo interceptación de métodos, y he estado tratando de encontrar la manera de lograr que AOP Alliance intercepte y maneje ciertas excepciones para que no tenga que mantener escribiendo el mismo código una y otra vez dentro de cada bloque catch
.Manejo de excepciones AOP
Pero después de revisar la obra, que no se ve como AOP Alliance ofrece ninguna manera de interceptar lanzados Throwable
s de tal manera que el controlador/interceptor puede hacer algunas cosas (log excepción, etc.) y luego determinar si o no para propagar la excepción más lejos o simplemente para recuperar de nuevo a la siguiente línea después de la línea que lanzó la excepción:
HerpDerp hd = null;
if(hd == null)
throw new RuntimeException("Herpyl derp!");
Manny.pacquiao();
Busco un mecanismo de manejo de excepciones AOP que interceptar la RuntimeException
y utilice la lógica comercial para decidir si seguir propagándola o recuperarse en la llamada Manny.pacquioa()
.
- Si simplemente no es posible hacer esto en Java, por favor hágamelo saber
- Independientemente de si es o no su posible hacer esto en Java, hay una manera de interceptar excepción lanzada con AOP Alliance o ¿Tengo que ir a otro lugar? Y si tengo que ir a otro lugar, ¿dónde? ¿AspectJ?
Gracias!
Gracias @Wim - está basado en AOP el manejo de excepciones como este no es posible con AOP Alliance? – IAmYourFaja
No lo creo. Si marca [los documentos de primavera] (http://static.springsource.org/spring/docs/3.1.1.RELEASE/spring-framework-reference/html/aop.html), se muestra esto: 'Punto de unión : un punto durante la ejecución de un programa, como la ejecución de un método o el manejo de una excepción. En Spring AOP, un punto de unión siempre representa una ejecución de método. –
Podría [ConstructorInterceptor] (http://aopalliance.sourceforge.net/doc/org/aopalliance/intercept/ConstructorInterceptor.html) ser manipulado de alguna manera para interceptar excepciones. (como están construidos)? – IAmYourFaja