我有一个在windows xp下运行完美的项目。
现在我尝试在Windows 7下运行它,并在立即窗口下获得了很多例外。
A first chance exception of type 'System.ArgumentNullException' occurred in Microsoft.VisualBasic.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in LP_Wizard.exe
A first chance exception of type 'System.ArgumentException' occurred in LP_Wizard.exe
A first chance exception of type 'System.NullReferenceException' occurred in LP_Wizard.exe
A first chance exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll
A first chance exception of type 'System.ArgumentNullException' occurred in Microsoft.VisualBasic.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in LP_Wizard.exe
A first chance exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll
A first chance exception of type 'System.ArgumentNullException' occurred in Microsoft.VisualBasic.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in LP_Wizard.exe
A first chance exception of type 'System.ArgumentNullException' occurred in Microsoft.VisualBasic.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in LP_Wizard.exe
知道Windows 7中的Microsoft.VisualBasic.dll
有什么问题以及我如何纠正这个问题?
非常感谢您的帮助。
答案 0 :(得分:56)
如果要确定异常发生的位置,可以选择Debug-> Exceptions菜单项,在出现的对话框中,选中“Common Language Runtime Exceptions”的第一个复选框。一旦发生异常,这将使调试器中断,而不是仅仅打破未处理的异常。
这也是为什么捕获一般异常通常是一个坏主意的一个原因,除非您明确记录捕获的信息。
答案 1 :(得分:43)
正在发生的事情是调试器可以在命中任何catch
块之前立即“看到”异常(因此是“第一次机会”)。任何未由catch
块处理的异常都被视为“第二次机会”异常并将正常中断。
如果这些例外没有停止运行您的应用程序,因为它们未处理,那么您可能没问题。大多数情况下,代码处理异常,这不是问题。输出只是Visual Studio,让您知道引发的异常。
如果有太多要忽略的话,请参阅“Avoiding first chance exception messages when the exception is safely handled”问题以了解减少此问题的方法。
答案 2 :(得分:1)
您是否在调试器中?您的程序正在处理这些异常吗?如果是这样,你需要找到一个设置,告诉VB压制警告你处理异常。 Maybey安装在XP上但是在W7上安装时没有设置。看看这是否有帮助: