当前位置:编程学习 > C#/ASP.NET >>

// Global handler for uncaught exceptions... 这是什么意思? UnhandledException += Appl

--------------------编程问答-------------------- AppDomain.CurrentDomain.UnhandledException //处理非UI线程异常 --------------------编程问答-------------------- System.AppDomain.UnhandledException 发生在一个特定的 AppDomain 上。一个 AppDomain 包含多个程序集,而这些程序集又可能包含各种不同类型的程序,如 Console Application 或者 DLL。这个事件是 AppDomain 级别的,所有被当前 AppDomain 加载的程序集中的未处理异常,都能被处理



多看MSDN --------------------编程问答-------------------- 从名字来看是 应用程序未处理异常
--------------------编程问答-------------------- 为了在WinForm中Catch所有没有Handle的Exception, 需要实现两个delegate.

1.用来catch所有界面线程的exception.
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

2.用来catch其它线程中的exception, 但是不能阻止程序退出。如果要阻止程序退出需要在线程运行中处理掉Exception.
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

 

方法实现:

static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)

{

    MessageBox.Show("CurrentDomain_UnhandledException " + e.ExceptionObject);

}

 
static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)

{

MessageBox.Show("Application_ThreadException " + e.Exception.Message);

}
--------------------编程问答--------------------
引用 4 楼 yalan 的回复:
为了在WinForm中Catch所有没有Handle的Exception, 需要实现两个delegate.

1.用来catch所有界面线程的exception.
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

2……


引用 2 楼 yalan 的回复:
System.AppDomain.UnhandledException 发生在一个特定的 AppDomain 上。一个 AppDomain 包含多个程序集,而这些程序集又可能包含各种不同类型的程序,如 Console Application 或者 DLL。这个事件是 AppDomain 级别的,所有被当前 AppDomain 加载的程序集中的未处理异常,都能被处理



多看MSDN


看了啊,但是有点不明白?

能不能再解释下,什么是程序域???

“没有Handle”,“Handle”指什么?句柄吗?在程序里指什么???

--------------------编程问答-------------------- http://edu.codepub.com/2011/0108/28618.php
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,