Visual Studio提供通用调试错误,但在调试之外提供特定错误

时间:2014-12-11 16:13:55

标签: vb.net debugging

我甚至不知道该怎么称呼它,但是情况就是这样 - 我使用Visual Studio 2013来创建Windows窗体项目。在某些时候,调试器开始抛出这个错误:

  

mscorlib.dll中出现未处理的“System.Reflection.TargetInvocationException”类型异常

     

附加信息:调用目标引发了异常。

然而,我碰巧注意到,当我在没有调试的情况下运行程序时,发生了错误,它给了我:

  

System.IndexOutOfRangeException:索引超出了数组的范围。

这不是一个复杂的程序,我没有做多线程或委托等任何事情。无论我尝试什么,它只会给出第一个错误。当我试图删除一个不存在的文件时,当索引超出界限时,当控件抛出错误时,我已经得到了它。所有这些错误只是在调试模式中引用了第一个错误,但是调试模式之外的正常错误。

我只是将代码放在另一个项目中,它运行正常。也许它是调试菜单中的一个选项,但我已经尝试了我能想到的一切。我也尝试更新到VS2013 Update 4,它仍然可以。帮助

1 个答案:

答案 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
}

希望这有帮助