我是靠谱客的博主 热心烤鸡,最近开发中收集的这篇文章主要介绍[转]AppDomain的两个小技巧(程序运行完毕和未处理异常的处理),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

有时候,我们会需要在程序结束时进行一些处理,比如记录log日志,清除一些临时文件等工作。这时候我们可以利用AppDomainProcessExit事件:

class Program
{
    static void Main(string[] args)
    {
        AppDomain.CurrentDomain.ProcessExit += (sender, arg) =>
                File.WriteAllText(@"c:log.txt", ((AppDomain)sender).FriendlyName);
    }
}

当程序运行完毕时,将会在C盘创建一个log.txt的文件,并写入我们指定的信息。一般参数中的sender为事件所属类的实例。

值得注意的是,当程序发生异常中断时,上述退出事件是不会执行的,这时候我们可以借助AppDomainUnhandledException事件:

class Program
{
    static void Main(string[] args)
{
        AppDomain.CurrentDomain.UnhandledException += (sender, arg) =>
            File.WriteAllText(@"c:log.txt", ((Exception)arg.ExceptionObject).StackTrace);

        throw new Exception("err!!");
    }
}

配合着这两个事件的使用,我们可以对程序建立起完善的监督机制,再也不用担心异常发生后找不着,也不用担心日志信息记录因为出错而缺失。


转自:http://hi.baidu.com/expertsearch/blog/item/25bcd81197487806203f2e6b.html

转载于:https://www.cnblogs.com/treeyh/archive/2009/07/20/1527105.html

最后

以上就是热心烤鸡为你收集整理的[转]AppDomain的两个小技巧(程序运行完毕和未处理异常的处理)的全部内容,希望文章能够帮你解决[转]AppDomain的两个小技巧(程序运行完毕和未处理异常的处理)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(234)

评论列表共有 0 条评论

立即
投稿
返回
顶部