Dùng để bắt và xử lý lỗi khi chương trình đang chạy.
Giúp chương trình không bị dừng đột ngột, thay vào đó có thể hiển thị thông báo lỗi thân thiện, ghi log, hoặc tiếp tục chạy phần còn lại.
Nếu bạn hay sử dụng dụng phần mềm Excel / World ... một số trường hợp lỗi bị đơ, làm chuột quay tròn liên tục, thì đó là lúc mà người dùng rất 'bực bội' thì tình huống này. Thì Try catch sẽ giúp bạn làm khách hàng dễ chịu hơn khi rơi tình huống này.
Các bạn lập trình viên về Csharp ghi nhớ cú pháp này nha, thuộc lòng càng tốt.
try
{
// Mã có thể gây lỗi
}
catch (SpecificException ex)
{
// Xử lý lỗi cụ thể
}
catch (Exception ex)
{
// Xử lý lỗi chung
}
finally
{
// Mã luôn được thực thi (dù có lỗi hay không)
}
✅ try:
Viết mã có thể phát sinh lỗi bên trong.
Ví dụ: chia cho 0, truy cập mảng sai chỉ số, đọc file không tồn tại,...
try
{
int x = 5 / 0; // Gây lỗi chia cho 0
}
✅ catch:
Xử lý ngoại lệ (exception) khi xảy ra trong khối try.
Có thể dùng nhiều catch cho nhiều loại lỗi khác nhau.
Exception là lớp cha của tất cả các lỗi.
catch (DivideByZeroException ex)
{
Console.WriteLine("Bạn không thể chia cho 0!");
}
catch (Exception ex)
{
Console.WriteLine("Lỗi chung: " + ex.Message);
}
✅ finally (không bắt buộc):
Luôn được thực thi sau try và catch, dù có lỗi hay không.
Dùng để đóng file, đóng kết nối, giải phóng tài nguyên, v.v.
finally
{
Console.WriteLine("Đã kết thúc xử lý.");
}
using System;
class Program
{
static void Main()
{
try
{
Console.Write("Nhập số a: ");
int a = int.Parse(Console.ReadLine());
Console.Write("Nhập số b: ");
int b = int.Parse(Console.ReadLine());
int kq = a / b;
Console.WriteLine("Kết quả: " + kq);
}
catch (FormatException)
{
Console.WriteLine("Bạn phải nhập số nguyên.");
}
catch (DivideByZeroException)
{
Console.WriteLine("Lỗi: Không thể chia cho 0.");
}
catch (Exception ex)
{
Console.WriteLine("Lỗi không xác định: " + ex.Message);
}
finally
{
Console.WriteLine("Kết thúc chương trình.");
}
}
}
Exception | Khi nào xảy ra |
---|---|
DivideByZeroException |
Chia cho 0 |
FormatException |
Nhập sai định dạng, ví dụ nhập chữ thay vì số |
NullReferenceException |
Truy cập biến null |
IndexOutOfRangeException |
Truy cập mảng ngoài phạm vi |
FileNotFoundException |
Mở file không tồn tại |
Tìm kiếm:
Hướng dẫn chi tiết sử dụng try catch trong C#, giúp bạn kiểm soát lỗi phần mềm tốt.