本文主要以一个简单的小例子,描述C# Winform程序异常关闭时,如何进行捕获,并记录日志。 概述 有时在界面的事件中,明明有try... catch 进行捕获异常,但是还是会有异常关闭的情况,所以在程序中如何最终的记录一些无法捕获的异常,会大大方便问题的定位分析及程序优化。 涉及知识点 以下两个异常事件,主要应用不同的场景。 Application.ThreadException 在发生应用程序UI主线程中未捕获线程异常时发生,触发的事件。 AppDomain.CurrentDomain.UnhandledException 当后台线程中某个异常未被捕获时触发。 源代码 主要程序