Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
127,33 KB
Nội dung
06/09/11 16:02 1 CHƯƠNG 6 2 Mụ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. 3 Nộ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 4 6.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); } 5 Tì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, … 6 6.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 7 Xử 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 8 Xử 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ệ } 9 Xử 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ệ. . 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. 3 Nội dung Tình huống phát sinh ngoại lệ Xử lý. cập, truy vấn cơ sở dữ liệu, … 6 6.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. ngoại lệ, nếu không tìm thấy nó sẽ kết thúc chương trình 8 Xử 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ệ,