我們需要解析/驗證從CSV或Excel文件讀取的大量行。我們讀取該行並應用業務規則來檢查所有單元格/列是否包含有效數據。處理錯誤並繼續進行的正確方法
應用程序應該保持驗證記錄/列直到結束,即使錯誤或列發生錯誤。目前,我們正在準備這樣的:
列是隻會驗證這樣的:
public void ValidateColumn(ColumnObject c)
{
try
{
//validate c
}
catch(Exception e)
{
//LOG Column Error
}
}
我們在兩個地方驗證行(ValidateRow
)時處理錯誤,然後爲每列(ValidateColumn
)。我的問題是,這是否是有效的或最佳的處理錯誤的方式或者更優化的方法?
驗證錯誤看起來不像*特殊*條件。相反,你似乎希望*某些數據可能無效,這就是爲什麼你有'Validate'方法。因此,首先使用例外似乎是糟糕的設計。 –
你真的*想要處理所有異常嗎?例如,「OutOfMemoryException」,「TypeLoadException」和「AppDomainUnloadedException」如何? –
@CodyGray目標是,即使對「ValidateColumn」或「ValidateRow」的調用失敗,程序也應該繼續下一行。是的,我懷疑這個設計是我在這裏推出的主要原因。 – TheVillageIdiot