[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 メーリングリストの案内