Vedo che Guice e Spring usano AOP Alliance per intercettazioni di metodo, e ho cercato di capire come ottenere AOP Alliance per intercettare e gestire alcune eccezioni, quindi non devo tenere scrivere lo stesso codice più e più volte all'interno di ogni blocco catch
.Gestione eccezioni AOP
Ma dopo aver esaminato il gioco, non sembra AOP Alliance fornisce un modo per intercettare gettati Throwable
s in modo tale che il gestore/intercettore può fare alcune cose (log eccezione, ecc) e poi determinare o meno di propagare l'eccezione ogni ulteriore o per recuperare appena tornato alla riga successiva seguendo la linea che ha generato l'eccezione:
HerpDerp hd = null;
if(hd == null)
throw new RuntimeException("Herpyl derp!");
Manny.pacquiao();
sto cercando un meccanismo di gestione delle eccezioni AOP che intercettare il RuntimeException
e utilizzare la logica aziendale per decidere se continuare a diffonderlo o ripristinarlo alla chiamata Manny.pacquioa()
.
- Se è solo non è possibile fare questo in Java, per favore fatemelo sapere
- Indipendentemente dal fatto che o non la sua possibile fare questo in Java, c'è un modo per intercettare Eccezione generata con AOP Alliance o devo andare da qualche altra parte. E se devo andare da qualche altra parte, dove? AspectJ?
Grazie!
Grazie @Wim - è basato su AOP gestione delle eccezioni come questa non è possibile con AOP Alliance? – IAmYourFaja
Io non la penso così. Se si seleziona [spring docs] (http://static.springsource.org/spring/docs/3.1.1.RELEASE/spring-framework-reference/html/aop.html), viene visualizzato questo: 'Punto di unione : un punto durante l'esecuzione di un programma, come l'esecuzione di un metodo o la gestione di un'eccezione. In Spring AOP, un join point rappresenta sempre un'esecuzione del metodo. –
Potrebbe [ConstructorInterceptor] (http://aopalliance.sourceforge.net/doc/org/aopalliance/intercept/ConstructorInterceptor.html) essere in qualche modo violato per intercettare le eccezioni (come sono costruiti)? – IAmYourFaja