У меня проблема, когда возникает непредвиденное исключение при отладке проекта WinForm VB.NET.
Проблема в том, что мое приложение завершается, и я должен запустить его снова, а не повторять действие, как это было в VS2003
Неопределенное исключение реализовано в новом классе My.MyApplication, найденном в ApplicationEvents.vb
Private Sub MyApplication_UnhandledException(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
Dim handler As New GlobalErrorHandler()
handler.HandleError(e.Exception)
e.ExitApplication = False
End Sub
Примечание: handler.HandleError просто показывает диалоговое окно и записывает ошибку в файл журнала.
Я также попробовал следующий код, который работал в VS2003, но он приводит к тому же поведению при запуске в VS2008:
AddHandler System.Windows.Forms.Application.ThreadException, AddressOf OnApplicationErrorHandler
AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf OnUnhandledExceptionHandler
OnApplicationErrorHandler и OnUnhandledExceptionHandler делают то же самое, что handle.HandleError
Запуск приложения вне VS2008 приводит к ожидаемому поведению (приложение не завершается), но увеличивает цикл тестирования во время отладки.
Обновление: Я добавил пример кода в свой ответ, чтобы продемонстрировать эту проблему в C #