在我的代码中,我遇到了System.Reflection.TargetInvocationException
抛出 a 的情况。在一种特定情况下,我知道我想如何处理根异常,但我想抛出所有其他异常。我可以想到两种方法,但我不确定哪种方法更好。
1.
try
{
//code
}
catch (System.Reflection.TargetInvocationException ex)
{
if (typeof(ex.InnerException) == typeof(SpecificException))
{
//fix
}
else
{
throw ex.Innerexception;
}
}
2.
try
{
//code
}
catch (System.Reflection.TargetInvocationException ex)
{
try
{
throw ex.InnerException;
}
catch (SpecificException exSpecific)
{
//fix
}
}
我知道抛出异常通常很慢,所以我觉得第一种方法可能会更快。或者,有没有我没有想到的更好的方法?