Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Hạn chế Exception khi dùng hàm Parse trong C#

08:47 04-09-2021 574 lượt xem 3 bình luận

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)
        {
            // tạo ra danh sách UserInfo rỗng để hứng dữ liệu.
            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. 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 04:26 05-09-2021
bạn Cu Xin nói đúng đó
Cu Xin Author đã bình luận 18:08 04-09-2021

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.

Câu hỏi mới nhất