【问题标题】:VB.NET Error in class is not thrownVB.NET 类中的错误不会被抛出
【发布时间】:2014-03-16 12:29:36
【问题描述】:

我在一个类中有以下代码:

Private WithEvents AH As ActiveHomeScriptLib.ActiveHome

Public Sub New()

    Try
        AH = New ActiveHomeScriptLib.ActiveHome
    Catch ex As Exception
        WriteLog("#clsCM15Pro_Class_Initialize: " & Information.Err().Description & ", err.number: " & CStr(Information.Err().Number) & ", Params: '" & "" & "'")
    Finally

    End Try

End Sub

未到达“WriteLog”行。 我在“End Sub”设置了一个断点,但从未到达。

我激活了以下异常:

有没有人看到我在这里可能犯的任何错误会导致我遇到的行为?

编辑:我现在创建了一个新项目。 只有一个表格,上面有一个按钮。

单击按钮会执行以下操作:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim c As clsCM15Pro
    c = New clsCM15Pro

    MsgBox("Blah!")

End Sub

但是没有显示消息框。相反,单击按钮后,我的应用程序会在 IDE 中退出。

感谢您的帮助!

【问题讨论】:

  • 为什么您认为对ActiveHomeScriptLib.ActiveHome 的调用会失败?
  • 你在哪里实例化这个类?
  • ActiveHomeScriptLib.ActiveHome 之后的所有代码都没有执行,所以我猜这就是问题所在。
  • 我在另一个类中实例化这个类。
  • 它在表单加载事件处理程序中吗?

标签: vb.net exception exception-handling


【解决方案1】:

缺少 AH 内部引用的 DLL。当它没有找到这个 DLL 时,这会导致意外的行为:在 VB.NET 中没有引发错误。 解决这个问题的唯一方法(没有 AH 代码......它是第三方 DLL),首先检查有问题的 DLL 是否存在,只有存在,才继续。否则跳过这种奇怪的行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    相关资源
    最近更新 更多