Chia sẻ

Nội dung

[C#] Hướng dẫn xử lý lỗi ngoại lệ

Giới thiệu

Ngôn ngữ C# cũng giống như bất cứ ngôn ngữ hướng đối tượng khác, cho phép xử lý những lỗi và các điều kiện không bình thường với những ngoại lệ. Ngoại lệ là một
đối tượng đóng gói những thông tin về sự cố của một chương trình không bình thường.

Một điều quan trọng để phân chia giữa bug lỗi và ngoại lệ. Một bug là một lỗi lập trình có thể được sửa chữa trước khi mã nguồn được chuyển giao. Những ngoại lệ thì
không được bảo vệ và tương phản với những bug. Mặc dù một bug có thể là nguyên nhân sinh ra ngoại lệ, chúng ta cũng không dựa vào những ngoại lệ để xử lý những
bug trong chương trình, tốt hơn là chúng ta nên sửa chữa những bug này.

Khi một chương trình gặp một tình huống ngoại lệ, nó sẽ tạo một ngoại lệ. Khi một ngoại lệ được tạo ra, việc thực thi của các chức năng hiện hành sẽ bị treo cho đến khi
nào việc xử lý ngoại lệ tương ứng được tìm thấy.

Điều này có nghĩa rằng nếu chức năng hoạt động hiện hành không thực hiện việc xử lý ngoại lệ, thì chức năng này sẽ bị chấm dứt và hàm gọi sẽ nhận sự thay đổi đến
việc xử lý ngoại lệ. Nếu hàm gọi này không thực hiện việc xử lý ngoại lệ, ngoại lệ sẽ được xử lý sớm bởi CLR, điều này dẫn đến chương trình của chúng ta sẽ kết thúc.

Xem thêm  [WPF, C#] 2 phương pháp quét trang web bằng HtmlAgilityPack

Đón bắt lỗi ngoại lệ

Cú pháp:

try
{
<câu lệnh>
}
catch ([<kiểu ngoại lệ> <tên biến>])
{
<câu lệnh xử lý ngoại lệ>
}

Ví dụ:thực hiện phép chia số nguyên a cho số nguyên b. Ngoại lệ phát sinh khi b = 0, chương trình sẽ đón bắt ngoại lệ này.

int a, b;
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
try
{
Console.WriteLine("Thuong = " + a / b);
}
catch (Exception e)
{
Console.WriteLine("Bi loi, mau so phai khac 0");
}

Kết quả khi nhập b bằng 0:

[C#] Hướng dẫn xử lý lỗi ngoại lệ

Xử lý ngoại lệ phát sinh

Khi chương trình sử dụng khối lệnh try và lỗi phát sinh, quá trình đang thực thi của những lệnh trong khối try sẽ hủy bỏ để chuyển qua khối lệnh catch. Các thao tác xử lý
tài nguyên có thể đang dở dang. Ta có thể sử dụng khối phát biểu finally để thực hiện dọn dẹp tài nguyên (như đóng kết nối cơ sở dữ liệu, đóng file, xóa file tạm, …). Cấu
trúc như sau.

try
{
<Các câu lệnh>
}
catch ([<kiểu dữ liệu> <tên biến>]) { <câu lệnh xử lý ngoại lệ>}
finally
{
<Các câu lệnh dọn dẹp tài nguyên>
} 

Lời kết

Trên đây csharpcanban.com đã Hướng dẫn các bạn đón bắt và xử lý lỗi ngoại lệ trong C#. Hãy thực hành và vận dụng vào các ứng dụng của các bạn. Có thắc mắc, hãy tham gia bình luận dưới đây.

Trong các bài tiếp theo mình sẽ tiếp tục hướng dẫn các bạn sử dụng Microsoft Visual Studio C#, sử dụng các Control trong C#, đó là sử dụng Combobox, Listbox, Radio Button, và nhiều Control khác, hãy thường xuyên theo dõi website csharpcanban.com để cập nhật các bài học mới nhé các bạn.

Xem thêm  [C#] Hướng dẫn sử dụng Listview Control

Bản quyền

Nội dung trên csharpcanban.com được biên soạn, biên dịch từ nhiều nguồn khác nhau, đồng thời đã được viết thành chương trình chạy. Csharpcanban.Com bảo lưu mọi quyền đối với những bài viết này. Mọi hình thức sao chép đều cần phải được Csharpcanban.Com cấp phép.

ĐĂNG KÝ MUA HÀNG

    Email (*)

    Điện thoại (*)

    Tên sản phẩm/Dịch vụ:


    Chia sẻ

    Trả lời

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *