try/catch块中出现未处理的异常
本文关键字:未处理 异常 catch try | 更新日期: 2023-09-27 18:24:45
这个真的在烤我的面条。。。
我有一些代码。当我运行它时,VisualStudio会抱怨一个未处理的异常。当然,是一个例外。然而,它公然在try/catch块内,所以…这是如何"未处理"的
我到处找过,唯一能找到的相关热门是与LINQ有关的。但我没有使用任何LINQ,所以不可能是这样。
相关代码如下所示:
try
{
method.Invoke(target, new object[0]);
}
catch (MyException e)
{
Console.WriteLine(e);
}
Invoke()
每次命中的方法都不一样。其中一些方法确实会抛出异常——这很好。但这就是为什么我把它放在试块里!我不明白VS为什么抱怨没有处理异常。
(是的,我已经检查了抛出的异常是否是MyException
对象。)
在这一点上,我唯一的猜测是,它在某种程度上与使用反射有关。我真的需要解决这个问题。。。有什么建议吗?
您应该阅读MethodInfo.Invoke
的文档。
异常
TargetInvocationException-被调用的方法或构造函数引发异常。
备注
如果被调用的方法抛出异常,
Exception.GetBaseException
方法将返回该异常。
您的异常正在封装在TargetInvocationException
中。