在WinForm中進行異常處理和日志記錄可以通過以下步驟進行配置:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
Application.Run(new Form1());
}
static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
{
// 記錄異常到日志文件
LogHelper.LogException(e.Exception);
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
Exception ex = e.ExceptionObject as Exception;
if (ex != null)
{
// 記錄異常到日志文件
LogHelper.LogException(ex);
}
}
public static class LogHelper
{
public static void LogException(Exception ex)
{
string logFilePath = "error.log";
using (StreamWriter writer = new StreamWriter(logFilePath, true))
{
writer.WriteLine($"[{DateTime.Now}] {ex.Message}");
writer.WriteLine($"StackTrace: {ex.StackTrace}");
writer.WriteLine();
}
}
}
try
{
// 代碼邏輯
}
catch (Exception ex)
{
LogHelper.LogException(ex);
MessageBox.Show("發生異常,請查看日志文件");
}
通過以上步驟,可以在WinForm應用程序中實現異常處理和日志記錄的配置。在發生異常時,會自動記錄異常信息到日志文件中,方便后續查看和排查問題。