Подтвердить что ты не робот

Случайное исключение

У меня есть проект, который отлично работает под windows xp.

Теперь я попытался запустить его под Windows 7 и получил там много исключений в окне Immediate.

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

Любая идея, что не так с этим Microsoft.VisualBasic.dll в Windows 7 и как я исправляю эту проблему?

Большое спасибо за помощь.

4b9b3361

Ответ 1

Что происходит, отладчик может "видеть" исключения, как только они поднимаются (отсюда "первый шанс" ) перед ударом блока catch. Любое исключение, которое не обрабатывается блоком catch, считается исключением "второго шанса" и нормально ломается.

Если эти исключения не останавливают работу вашего приложения, потому что они необработаны, вы, вероятно, все в порядке. В большинстве случаев исключение обрабатывается кодом, и это не проблема. Результат - это просто Visual Studio, позволяющий вам знать, что исключения были подняты.

См. "" Избегайте сообщений об исключении из первой случайности, когда исключение безопасно обрабатывается". Вопрос для некоторых методы, чтобы уменьшить это, если их слишком много, чтобы игнорировать.

Ответ 2

Если вы хотите определить, где происходят исключения, вы можете выбрать пункт меню "Отладка- > Исключения", а в появившемся диалоговом окне отметьте первый флажок "Исключения общего времени выполнения языка". Это заставит отладчик прерываться, как только возникает исключение, вместо того, чтобы ломать только необработанные исключения.

Это также одна из причин, по которой обычно сложно поймать общие исключения, если вы явно не регистрируете полученную информацию.

Ответ 3

Вы находитесь в отладчике? Являются ли эти исключения обработкой вашей программы? Если это так, вам нужно найти параметр, который говорит VB, чтобы предупредить вас об обработанных исключениях. Maybey это было установлено при установке на XP, но не при установке на W7. Посмотрите, поможет ли это:

http://www.helixoft.com/blog/archives/24