`csv.ParseError += new EventHandler(csv_ParseError);` 這行程式碼的作用是訂閱 CSV 解析器的錯誤事件。當 CSV 解析過程中發生格式錯誤(如欄位數不符、引號未閉合等),解析器會觸發 `ParseError` 事件,自動呼叫 `csv_ParseError` 方法執行自訂錯誤處理邏輯。
private void csv_ParseError(object sender, ParseErrorEventArgs e) {
// e.LineNumber: 錯誤行號
// e.ErrorMessage: 詳細錯誤描述
// e.RawData: 原始問題資料行
Log.Error($"CSV 解析錯誤 第 {e.LineNumber} 行: {e.ErrorMessage}");
// 可決定:略過該行、中止解析、修正後繼續
e.Action = ParseErrorAction.AdvanceToNextLine; // 例如略過
}
事件訂閱應在呼叫 `Parse()` 之前完成;若使用匿名方法或 Lambda,記得取消訂閱(`-=`)以避免記憶體洩漏。