C# xử dụng kỹ thuật bắt ngoại lệ (Handling Exception để
bắt và xử lý lỗi (errror) cũng như các ngoại lệ phát sinh
trong quá trình thực thi chương trình)
Phân loại bug, error và exception
• Bug: lỗi do người lập trình, cần được loại bỏ trước khi
hoàn thành phần mềm
• Error: lỗi phát sinh do người dùng, ví dụ người dùng
nhập sai định dạng dữ liệu -> phải kiểm tra dữ liệu đầu vào
• Exception: lỗ
14 trang |
Chia sẻ: maiphuongdc | Lượt xem: 2498 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Bài giảng Lập trình hướng đối tượng - Kỹ thuật xử lý ngoại lệ, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
06/09/11 16:02 1
CHƯƠNG 6
2Mục tiêu
Biết được tại sao lại phải xử lý ngoại lệ.
Kiểm soát được ngoại lệ với try – catch – finally.
Biết các đối tượng được xây dựng cho việc xử lí
ngoại lệ trong .NET.
3Nội dung
Tình huống phát sinh ngoại lệ
Xử lý ngoại lệ
Các lớp ngoại lệ của .NET
46.1. Tình huống phát sinh ngoại lệ (1)
static void Main()
{
int i;
Console.Write("Nhap gia tri cho i: ");
i = int.Parse(Console.ReadLine());
Console.WriteLine("Giá tri i vừa nhập " + i);
}
5Tình huống phát sinh ngoại lệ (2)
Những lỗi phát sinh khi runtime có thể làm hư hại
chương trình.
Có thể do không phải lỗi lập trình
Ví dụ: đĩa bị đầy, lỗi phần cứng, file bị thay đổi
thành chỉ đọc, không thể truy cập, truy vấn cơ sở
dữ liệu, …
66.2. Xử lý ngoại lệ (1)
C# xử dụng kỹ thuật bắt ngoại lệ (Handling Exception để
bắt và xử lý lỗi (errror) cũng như các ngoại lệ phát sinh
trong quá trình thực thi chương trình)
Phân loại bug, error và exception
• Bug: lỗi do người lập trình, cần được loại bỏ trước khi
hoàn thành phần mềm
• Error: lỗi phát sinh do người dùng, ví dụ người dùng
nhập sai định dạng dữ liệu -> phải kiểm tra dữ liệu
đầu vào
• Exception: lỗi bất thường, ví dụ như hết bộ nhớ, lỗi
chia cho 0…s
7Xử lý ngoại lệ (2)
Để báo hiệu một điều kiện bất thường xuất hiện
trong quá trình thực thi, thực hiện ném ngoại lệ
throw new System.Exception();
Khi một ngoại lệ được tung ra, chương trình ngay
lập tức sẽ dừng lại và CLR sẽ tìm , kiểm tra chương
trình bắt ngoại lệ, nếu không tìm thấy nó sẽ kết
thúc chương trình
8Xử lý ngoại lệ (3)
C# sử dụng cấu trúc try…catch…finally để kiểm tra,
bắt và xử lý ngoại lệ
try
{
//Lệnh có thể phát sinh ngoại lệ, cần kiểm tra
}
catch(Exception e)
{
//Bắt và xử lý ngoại lệ nếu có
}
Finally
{
//Đoạn mã luôn thực thi khi xuất hiện ngoại lệ
}
9Xử lý ngoại lệ (4)
Có thể có nhiều đoạn lệnh catch trong một câu lệnh
try…catch tương ứng với nhiều ngoại lệ khác nhau
Đoạn lệnh try…catch có thể đặt trong phương thức
có thể phát sinh ngoại lệ hoặc đặt ở cấp cao hơn,
phương thức triệu gọi đoạn mã có thể phát sinh
ngoại lệ
10
6.3. Các lớp ngoại lệ của .NET (1)
Đối tượng System.Exception cung cấp một số các
phương thức và thuộc tính hữu dụng.
Thuộc tính Message cung cấp thông tin về ngoại lệ,
như là lý do tại sao ngoại lệ được phát sinh.
Thuộc tính HelpLink cung cấp một liên kết để trợ
giúp cho các tập tin liên quan đến các ngoại lệ.
11
Các lớp ngoại lệ của .NET (2)
12
Các lớp ngoại lệ của .NET (3)
13
Các lớp ngoại lệ của .NET (4)
14
Bài tập chương 6
Các file đính kèm theo tài liệu này:
- lap_trinh_huong_doi_tuong_voi_net_c_chuong6.bak.pdf