diff --git a/Tasks/CsvBuilder.cs b/Tasks/CsvBuilder.cs index 255f190..44baee1 100644 --- a/Tasks/CsvBuilder.cs +++ b/Tasks/CsvBuilder.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -65,11 +66,21 @@ public class CsvBuilder private string EscapeCsvField(string? value) { - var field = value ?? string.Empty; - var mustQuote = field.Contains(Separator) || field.Contains('"') || field.Contains('\r') || field.Contains('\n'); - if (!mustQuote) - return field; + try + { + var field = value ?? string.Empty; + var mustQuote = field.Contains(Separator) || field.Contains('"') || field.Contains('\r') || field.Contains('\n'); + if (!mustQuote) + return field; + + return "\"" + field.Replace("\"", "\"\"") + "\""; + } + catch (Exception ex) + { + Logger.Log($"Error while escapting csv field: {ex.Message}",Logger.LogType.Warning); + } + + return ""; - return "\"" + field.Replace("\"", "\"\"") + "\""; } }