有没有办法捕捉这些异常?(我不是在寻找“只是把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
发布于 2011-02-04 11:37:41
请看以下内容:
http://temujin.blogsome.com/2006/03/15/static-constructors-and-exceptions/ (现在是dead - archive)
要点:
如果出现异常,运行库将始终将其包装在TypeInitializationException中
因此,请尝试在应用程序/应用程序域级别查找TypeInitializationException。另外:
静态构造函数仅在初始化类型时由运行库执行一次;第二次访问静态字段时,将再次引发初始异常
简而言之,不要做任何可能在静态(共享)构造函数中抛出异常的事情。将代码移动到静态属性或方法或实例构造函数。
https://stackoverflow.com/questions/4894265
复制相似问题