在事件处理程序中吞噬了异常

时间:2013-01-30 10:15:24

标签: .net vb.net visual-studio

在winforms中,使用vb.net和.NET 4.0 32bit,我已经使用自定义事件创建了一个用户控件,当我点击自定义控件中的控件时(基本上只是稍微冒出来自底层控件的事件)处理)。

我有这个控件,让我们称之为child,在第二个自定义上,比如说Parent,我加载到主窗体上的标签控件中。在父母我做这样的事情:

Public Class Parent : Inherits ParentBase

    Public Sub Child_SnapToObject(byval sender ..., byval e ...) Handles Child.SnapToObject

         ' Do stuff here

    End Sub

    Public Sub Child_ScaleChanged(byval sender ..., byval e ...) Handles Child.ScaleChanged

         ' Do stuff here

    End Sub

End Class

事件处理程序执行得很好,但是它们中发生的任何异常都会被吞下,这使得它成为调试的噩梦。所有事件都是如此

Child在单独的项目中定义。我已经检查了事件处理程序,这些事件处理程序从底层控件和所有这些吞噬异常中冒泡。另一方面,异常会从构造函数中抛出。

我找不到任何暗示这是正常行为的事情......有人知道这是一个错误还是什么,以及如何修复它?

1 个答案:

答案 0 :(得分:0)

问题似乎是由于我的用户控件在不同的项目中。启用菜单选项“当异常跨越appDomain或托管/本机边界时中断...”(在工具 - >选项 - >调试 - >常规中)后,异常不再被吞下。

我认为这应该是默认启用的。由于我的项目是VS2003项目的转换,我假设在转换过程中设置已关闭。