[seasar-dotnet:309] Re: [Seasar]MethodInvocationImpl.Proceed()のExceptionHandlingについて
kubo
jazzflute @ mbn.nifty.com
2006年 7月 20日 (木) 18:32:13 JST
久保です。
> 久保さん、ご指摘ありがとうございます。修正したいと思います。
>
> 実際にStackTraceを見てみると、D案が良いような気がします。
>
> 少し処理が多くなりますが、位置的にはパフォーマンスを気にする所ではないので、
> 良いのではないでしょうか。
ありがとうございます。現状自分もSeasarのSourceを書き換えを
D案で行っています。特に問題なく動作してStackTraceもFullで
元気に出力されています。
(Release間近でExceptionが発生すること自体が問題だけど(^^))
> ちょっと裏技過ぎる気もしますが。
まあ、log4jも行番号出すのにすごいことしてますからね・・・
(log4netはまだ見て無いですが...)
あと一つ、すいません。
さっき気付いたのですが、
AopProxy.Invoke()で、Interceptorがない場合のInvokeは、
逆に何もcatchしていないので、TargetInvocationExceptionが
そのままthrowされるのではないでしょうか?
(これは試してないのでSourceを見てふと思った次第です)
if(interceptorList.Count == 0)
{
object[] args = methodMessage.Args;
// Interceptorを挿入しない場合
ret = method.Invoke(target_, args);
for(int i = 0; i < pis.Length; i++)
{
if (pis[i].ParameterType.IsByRef)
{
outParameters.Add(args[i]);
}
}
}
--
kubo <jazzflute @ mbn.nifty.com>
seasar-dotnet メーリングリストの案内