|
SSISO Community검색 |
|
SSISO Community메뉴 |
|
SSISO Community카페 |
|
블로그 카테고리 |
|
|
spring로 검색한 결과 |
|
등록일:2008-06-10 17:19:57 작성자: 제목:AOP 예제4 - Throws Advice |
|
package com.youngkun.aoptest;
public class ErrorBean { public void errorProneMethod() throws Exception{ throw new Exception("Foo"); } public void otherErrorProneMethod() throws IllegalArgumentException{ throw new IllegalArgumentException("Bar"); } }
package com.youngkun.aoptest;
import java.lang.reflect.Method;
import org.springframework.aop.ThrowsAdvice; import org.springframework.aop.framework.ProxyFactory;
public class SimpleThrowsAdvice implements ThrowsAdvice{ public static void main(String[] args) { ErrorBean errorBean = new ErrorBean(); ProxyFactory pf = new ProxyFactory(); pf.setTarget(errorBean); pf.addAdvice(new SimpleThrowsAdvice()); ErrorBean proxy = (ErrorBean)pf.getProxy(); try{ proxy.errorProneMethod(); }catch(Exception ignored){} try{ proxy.otherErrorProneMethod(); }catch(Exception ignored){} } public void afterThrowing(Exception ex) throws Throwable{ System.out.println("***"); System.out.println("Generic Exception Capture"); System.out.println("Caught: " + ex.getClass().getName()); System.out.println("***\n"); } public void afterThrowing(Method method, Object[] args, Object target, IllegalArgumentException ex) throws Throwable{ System.out.println("***"); System.out.println("IllegalArgumentException Capture"); System.out.println("Caught: "+ ex.getClass().getName()); System.out.println("Method: "+ method.getName()); System.out.println("***\n"); } }
실행 결과
*** Generic Exception Capture Caught: java.lang.Exception ***
*** IllegalArgumentException Capture Caught: java.lang.IllegalArgumentException Method: otherErrorProneMethod ***
출처 : http://youngkun.info/95 |
|
|
|
|
|