[Seasar-user:16595] Re: ThrowsInterceptor で例外発生箇所を特定するには

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2009年 1月 7日 (水) 11:39:11 JST


海野です。

もう1つだけ思いついたので、、

    public void handleThrowable(RuntimeException e, MethodInvocation
invocation) throws Throwable {

メソッド内で

    StackTraceElement err = e.getStackTrace()[0];
    err.getClassName();
    err.getMethodName();

というのはどうでしょうか。


> ひがです。
>>
>> 返答ありがとうございます。
>>
>> >getTargetClass(invocation).getName()
>> >invocation.getMethod().getName()
>> これだと、ThrowsInterceptorが適用されているactionクラス名とメソッド名
>> が取得されてしまうようです。
>>
>> 独自例外を定義して、そのクラスにクラス名とメソッド名のプロパティを
>> Stringで持たせて、catch句でクラス名とメソッド名をセットするしか
>> 無いですかね。。。
>> *そうなると、全ての箇所にtry catchを書く必要があるから、AOPの威力が魅力が落ちそうな予感。。。
>>
> ServiceのすべてのメソッドにInterceptorをしかけて、
> そこでThreadLocalにクラス名とメソッド名を格納し、
> ThrowsInterceptorで取り出すという方法もあります。
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>




Seasar-user メーリングリストの案内