我甚至不知道该怎么称呼它,但是情况就是这样 - 我使用Visual Studio 2013来创建Windows窗体项目。在某些时候,调试器开始抛出这个错误:
mscorlib.dll中出现未处理的“System.Reflection.TargetInvocationException”类型异常
附加信息:调用目标引发了异常。
然而,我碰巧注意到,当我在没有调试的情况下运行程序时,发生了错误,它给了我:
System.IndexOutOfRangeException:索引超出了数组的范围。
这不是一个复杂的程序,我没有做多线程或委托等任何事情。无论我尝试什么,它只会给出第一个错误。当我试图删除一个不存在的文件时,当索引超出界限时,当控件抛出错误时,我已经得到了它。所有这些错误只是在调试模式中引用了第一个错误,但是调试模式之外的正常错误。
我只是将代码放在另一个项目中,它运行正常。也许它是调试菜单中的一个选项,但我已经尝试了我能想到的一切。我也尝试更新到VS2013 Update 4,它仍然可以。帮助
答案 0 :(得分:0)
An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll
Additional information: Exception has been thrown by the target of an invocation.
TargetInvocationException是实际异常的包装器 "客户端应用程序的事件处理程序委托应检查Error属性;否则,该属性将引发TargetInvocationException"
尝试返回try catch并获取ex.InnerException 并了解为什么会出现此错误
System.IndexOutOfRangeException: Index was outside the bounds of the array.
试试这个
try {
//here you read the arguments and pass to a variable
}
catch(System.IndexOutOfRangeException) {
//other codepart
}
希望这有帮助