package com.navercorp.pinpoint.profiler.instrument.mock; import com.navercorp.pinpoint.bootstrap.interceptor.AroundInterceptor; import java.util.Arrays; public class ExceptionInterceptor implements AroundInterceptor { public static boolean before; public static boolean after; public static Object beforeTarget; public static Object[] beforeArgs; public static Object afterTarget; public static Object[] afterArgs; public static Object result; public static Throwable throwable; public static void clear() { before = false; after = false; beforeTarget = null; beforeArgs = null; afterTarget = null; afterArgs = null; result = null; throwable = null; } @Override public void before(Object target, Object[] args) { this.before = true; this.beforeTarget = target; this.beforeArgs = args; throw new RuntimeException("before exception"); } @Override public void after(Object target, Object[] args, Object result, Throwable throwable) { this.after = true; this.afterTarget = target; this.afterArgs = args; this.result = result; this.throwable = throwable; throw new RuntimeException("after exception"); } private String toArgs(Object[] args) { if (args == null) { return "null"; } return Arrays.asList(args).toString(); } }