AppDomain UnhandledException

后端 未结 2 1696
慢半拍i
慢半拍i 2021-01-17 23:41

I am working on a C# project and want to make use of the UnhandledException event to catch any exceptions I may have missed in my project (hoping there won\'t be any but to

相关标签:
2条回答
  • 2021-01-18 00:18

    Assuming that all of your projects are running in the same appdomain, this will work correctly. We have this exact code encapsulated in a common DLL that is shared among numerous applications.

    An additional suggestion: if this is used in Windows Forms applications, you probably also want to add a handler for System.Windows.Forms.Application.ThreadException. This serves as a backstop when, for example, someone forgets to add exception handling to a control event.

    0 讨论(0)
  • 2021-01-18 00:31

    It is possible to load an assembly into a different application domain, but as long as you load the assemblies (like class libraries) into the current application domain this will handle the exception.

    Relationship between application domains and assemblies:

    http://technet.microsoft.com/en-us/subscriptions/index/43wc4hhs(v=vs.80).aspx

    For instance, Assembly.LoadFile() or Assembly.Load() will load the assembly into the current app domain.

    Your code could be creating a new app domain with:

    AppDomain.CreateDomain(..) , then it could load assemblies into this domain, which would not be handled by your code.

    If you reference libraries in your project they will be loaded into the current app domain.

    0 讨论(0)
提交回复
热议问题