Первое случайное исключение

У меня есть проект, который работает прекрасный под 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 в окнах 7 и как я исправляю ту проблему?

Большое спасибо за справку.

19
задан BIBD 11 January 2010 в 16:38
поделиться

3 ответа

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

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

Смотрите вопрос "Avoiding first chance exception messages when the exception is safe handled" для некоторых методов, чтобы уменьшить это, если их слишком много, чтобы их можно было игнорировать.

.
44
ответ дан 30 November 2019 в 01:46
поделиться

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

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

.
57
ответ дан 30 November 2019 в 01:46
поделиться

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

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

1
ответ дан 30 November 2019 в 01:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: