在EventHandler中传播异常

时间:2015-06-19 13:02:33

标签: .net vb.net events event-handling

我有一个WinForms应用程序从EventHandler中的代码中引发异常(E.G. a Button click subscriber);

我有一个try..catch块围绕调用Form的ShowDialog;

异常不会传播到try..catch块,但它会在处理程序停止,Form将关闭。

1)如何将异常传播到块?

2)这些案例的最佳做法是什么?

这是一个新的VS 2010 AddIn项目,向导添加了一个简单的工具菜单:

    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

Form的唯一内容是一个带有静态处理程序的按钮,引发了“New Exception()”。

单击按钮时,不会捕获异常。

0 个答案:

没有答案