Cho mình hỏi có cách nào hạn chế Exception khi Parse dữ liệu không?
private void btnImport_Click(object sender, RoutedEventArgs e)
{
List<UserInfo> userList = new List<UserInfo>();
try
{
var package = new ExcelPackage(new FileInfo("ImportData.xlsx"));
ExcelWorksheet workSheet = package.Workbook.Worksheets[1];
for (int i = workSheet.Dimension.Start.Row + 1; i <= workSheet.Dimension.End.Row; i++)
{
try
{
int j = 1;
string name = workSheet.Cells[i, j++].Value.ToString();
int age = int.Parse(workSheet.Cells[i, j++].Value);
var birthdayTemp = workSheet.Cells[i, j++].Value;
DateTime birthday = new DateTime();
if (birthdayTemp != null)
{
birthday = (DateTime)birthdayTemp;
}
UserInfo user = new UserInfo()
{
Name = name,
Birthday = birthday
};
userList.Add(user);
}
catch (Exception exe)
{
}
}
}
catch (Exception ee)
{
MessageBox.Show("Error!");
}
dtgExcel.ItemsSource = userList;
}
Trong đoạn Code trên mình đang Parse dữ liệu của Age từ Excel, nhưng nếu Age không phải là số thì hàm Parse của mình xảy ra Exception và nó làm chương trình của mình chậm đi.
Hạn chế Exception?
Có vẻ như bạn chưa hiểu bản chất vấn đề lắm. Việc bạn Parse bị lỗi là do đâu. Là do dữ liệu của bạn bị lỗi. Vậy cách khắc phục không phải là cố che đây hay lượt bỏ cái lỗi đó đi. Mà phải sửa lại cái file data của bạn. Hoặc bạn phải cover hết những trường hợp mà giá trị Age có thể có để bạn có thể cài đặt những hành vi phù hợp.