У меня есть приложение WinForms, создающее исключения из кода в EventHandler (E.G. a button click subscriber);Исключения в Visual Studio 2010 AddIn
У меня есть try..catch блок вокруг вызова ShowDialog формы;
Исключение не распространяется на блок try..catch, но он просто останавливается у обработчика, и форма закрывается.
1) Как я могу распространить исключение на блок?
2) Какова наилучшая практика в этих случаях?
Это новый VS 2010 AddIn probject с помощью простого входа в меню Инструментов добавлен с помощью мастера:
Public Sub Exec(ByVal commandName As String, ByVal executeOption As vsCommandExecOption, ByRef varIn As Object, ByRef varOut As Object, ByRef handled As Boolean) Implements IDTCommandTarget.Exec
handled = False
If executeOption = vsCommandExecOption.vsCommandExecOptionDoDefault Then
If commandName = "MyAddin1.Connect.MyAddin1" Then
Dim form1 = New Form1
Try
form1.ShowDialog()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
handled = True
Exit Sub
End If
End If
End Sub
только содержание формы кнопки со статическим обработчиком воспитывающим «New Exception() ».
Когда я нажимаю кнопку, исключение не попадает.
Я хотел избежать попытки ... уловить в каждом обработчике событий, это кажется большим нарушением DRY ... (и дополнительной механической работой/ошибкой) – user4388177
К сожалению, у меня есть глобальный обработчик исключений не работая из дополнения для меня тоже. –