zoukankan      html  css  js  c++  java
  • .net 下程序退出捕获

     一:控制台应用程序 

             通过为当前AppDomain添加 UnhandledException 事件处理程序。

    AppDomain.CurrentDomain.UnhandledException += 
                   new UnhandledExceptionEventHandler(UnhandledExceptionEventHandler);
    static void UnhandledExceptionEventHandler(object sender, UnhandledExceptionEventArgs e)  { …… }

    二:  WinForm窗体应用程序

    未处理的异常将引发Application.ThreadException事件。

    a)         如果异常发生在主线程中,默认行为是未经处理的异常不终止该应用程序。在这种情况下,不会引发 UnhandledException 事件。但可以在在挂钩 ThreadException 事件处理程序之前,使用应用程序配置文件或者使用 Application.SetUnhandledExceptionMode() 方法将模式设置为 UnhandledExceptionMode.ThrowException 来更改此默认行为。

    b)         如果异常发生在其它线程中,将引发 UnhandledException 事件。

    Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException) 
    static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)  { …… }

    三: ASP.NET应用程序

    要截获ASP.NET 的未捕获异常,我们需要为每个应用程序域安装事件钩子。这个过程需要分两步完成:

    a)         首先创建一个实现IHttpModule接口的类

    public class UnhandledExceptionModule : IHttpModule
    {
        ……
        static object _initLock = new object();
        static bool _initialized = false;
        public void Init(HttpApplication context)
        {
            // Do this one time for each AppDomain.
            lock (_initLock)
            {
                if (!_initialized)
                {
                    AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(OnUnhandledException);
                    _initialized = true;
                }
            }
        }
    }

    b)         第二步:修改web.config,在 system.web 段中加入

    <httpModules>
      <add name="UnhandledExceptionModule" type="WebMonitor.UnhandledExceptionModule" />
    </httpModules>

     

  • 相关阅读:
    Gatling的进阶二
    scala环境搭建
    web性能测试的新利器
    Jmeter+jenkins接口性能测试平台实践整理(二)
    Gatling的进阶一
    [经验总结]利用xlstproc处理XSLT的makefile
    VBA在WORD中给表格外的字体设置为标题
    VBA赋值给指定单元格
    将压缩包隐藏到图片中
    DB2删除重复数据
  • 原文地址:https://www.cnblogs.com/LGDD/p/14708760.html
Copyright © 2011-2022 走看看