$B=i$a$FEj9F$5$;$F$$$?$@$-$^$9!#(B<br>ricordi$B$H?=$7$^$9!#(B<br>
<br>
PojoAction$B$X$NFH<+(BThrowsInterceptor$B$r0J2<$N$h$&$J7A$G:n@.$7!"(B<br>
Action$B$N%a%=%C%I$+$i(BRuntimeException$B$rHt$P$9$h$&$K$7$F;n$7$^$7$?$,!"$&$^$/E,MQ$5$l$F$/$l$^$;$s!#(B<br>
$B$I$N$h$&$K=q$/$N$,@5$7$$$+65$($F$$$?$@$1$^$9$G$7$g$&$+!)(B<br>
<br>
$B4D6-(B<br>
JDK6 update2<br>
s2container-2.4.17<br>
s2struts-1.3.0-RC1<br>
mayaa-1.1.3<br>
<br>
<br>
package test;<br>
<br>import org.aopalliance.intercept.MethodInvocation;<br>
import org.seasar.framework.aop.interceptors.ThrowsInterceptor;<br>
import org.seasar.framework.container.SingletonS2Container;<br><br>
public class ThrowsHandleInterceptor extends ThrowsInterceptor {<br>
<br>
&nbsp;&nbsp;&nbsp; public void handleThrowable(Throwable t, MethodInvocation invocation) throws Throwable {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String name = t.getClass().getName();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(name);<br>
&nbsp;&nbsp;&nbsp; }<br>
}<br>
<br>
----customizer.dicon<br>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br>
&lt;!DOCTYPE components PUBLIC &quot;-//SEASAR//DTD S2Container 2.4//EN&quot;<br>
&nbsp;&nbsp;&nbsp; &quot;<a href="http://www.seasar.org/dtd/components24.dtd" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.seasar.org/dtd/components24.dtd</a>&quot;&gt;<br>
&lt;components&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;include path=&quot;default-customizer.dicon&quot;/&gt;<br>
<br>
&nbsp;&nbsp;&nbsp; &lt;component name=&quot;propertyInterType&quot; class=&quot;org.seasar.framework.aop.intertype.PropertyInterType&quot; /&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;component name=&quot;propertyInterTypeCustomizer&quot; class=&quot;org.seasar.framework.container.customizer.InterTypeCustomizer&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name=&quot;interTypeName&quot;&gt;&quot;propertyInterType&quot;&lt;/property&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/component&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;component name=&quot;testThrowsInterceptor&quot; class=&quot;test.TestThrowsInterceptor&quot; /&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;component name=&quot;actionCustomizer&quot; class=&quot;org.seasar.framework.container.customizer.CustomizerChain&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;initMethod name=&quot;addCustomizer&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg&gt;traceCustomizer&lt;/arg&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/initMethod&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;initMethod name=&quot;addCustomizer&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg&gt;propertyInterTypeCustomizer&lt;/arg&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/initMethod&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;aspect pointcut=&quot;do.*&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; testThrowsInterceptor<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/aspect&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/component&gt;<br>
&lt;/components&gt;<br>
<br>