私のコードでは、aSystem.Reflection.TargetInvocationException
がスローされる状況に遭遇しています。ある特定のケースでは、ルート例外を処理する方法を知っていますが、他のすべての例外をスローしたいと思います。これを行うには2つの方法が考えられますが、どちらが良いかわかりません。
1.1。
try
{
//code
}
catch (System.Reflection.TargetInvocationException ex)
{
if (typeof(ex.InnerException) == typeof(SpecificException))
{
//fix
}
else
{
throw ex.Innerexception;
}
}
2.2。
try
{
//code
}
catch (System.Reflection.TargetInvocationException ex)
{
try
{
throw ex.InnerException;
}
catch (SpecificException exSpecific)
{
//fix
}
}
一般的に例外のスローは遅いことを知っているので、最初の方法の方がおそらく速いと思います。あるいは、私が考えていなかったこれを行うためのより良い方法はありますか?