首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有办法捕捉这些异常?

有没有办法捕捉这些异常?
EN

Stack Overflow用户
提问于 2011-02-04 11:25:58
回答 1查看 186关注 0票数 1

有没有办法捕捉这些异常?(我不是在寻找“只是把try/catch或on error goto放在它们周围”)。我正在尝试找出这些错误是否可以被它们之外的某些东西捕获。

Public Class ABC
   Shared Sub New()
     throw new Exception("Ha!")
   End Sub
End Class

或者这样:

Public Class ABC
  Dim obj as Object = CreateObject()

  Public Function CreateObject()
    throw new Exception("Ha!")
  End Function
End Class

顺便说一句,把这些放在我的启动类的(它是一个Windows窗体)中,作为"Shared Sub New()“的第一行是不起作用的:

AddHandler Application.ThreadException, AddressOf Application_ThreadException
AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf CurrentDomain_UnhandledException
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-04 11:37:41

请看以下内容:

http://temujin.blogsome.com/2006/03/15/static-constructors-and-exceptions/ (现在是dead - archive)

要点:

如果出现异常,运行库将始终将其包装在TypeInitializationException中

因此,请尝试在应用程序/应用程序域级别查找TypeInitializationException。另外:

静态构造函数仅在初始化类型时由运行库执行一次;第二次访问静态字段时,将再次引发初始异常

简而言之,不要做任何可能在静态(共享)构造函数中抛出异常的事情。将代码移动到静态属性或方法或实例构造函数。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4894265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档