Bài giảng Lập trình hướng đối tượng: Bài 10 - ThS. Trịnh Thành Trung

pdf
Số trang Bài giảng Lập trình hướng đối tượng: Bài 10 - ThS. Trịnh Thành Trung 62 Cỡ tệp Bài giảng Lập trình hướng đối tượng: Bài 10 - ThS. Trịnh Thành Trung 861 KB Lượt tải Bài giảng Lập trình hướng đối tượng: Bài 10 - ThS. Trịnh Thành Trung 8 Lượt đọc Bài giảng Lập trình hướng đối tượng: Bài 10 - ThS. Trịnh Thành Trung 8
Đánh giá Bài giảng Lập trình hướng đối tượng: Bài 10 - ThS. Trịnh Thành Trung
4.4 ( 17 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 62 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

Bài 10 Ngoại lệ Trịnh Thành Trung trungtt@soict.hust.edu.vn Nội dung 1. Ngoại lệ 2. Bắt và xử lý ngoại lệ 3. Ủy nhiệm ngoại lệ 4. Tự định nghĩa ngoại lệ 1 Ngoại lệ Exception Ngoại lệ • Ngoại lệ (exception) = Exceptional event • Định nghĩa: Ngoại lệ là một sự kiện xảy ra trong quá trình thực thi chương trình, phá vỡ luồng bình thường của chương trình • Ví dụ int i = 4/0; ERROR! 4 Ngoại lệ • Ngoại lệ là một lỗi đặc biệt • Xảy ra tại thời điểm chạy chương trình (runtime) • Khi xảy ra một ngoại lệ, nếu không xử lý thì chương trình kết thúc ngay và trả lại quyền điều khiển cho hệ điều hành. • Kết thúc bất thường chương trình • Kết quả thực thi không mong muốn 5 Cách xử lý lỗi truyền thống • Viết mã xử lý tại nơi phát sinh ra lỗi • Làm cho chương trình trở nên rối • Không phải lúc nào cũng đầy đủ thông tin để xử lý • Không nhất thiết phải xử lý • Truyền trạng thái lên mức trên • Thông qua tham số, giá trị trả lại hoặc biến tổng thể (flag) • Dễ nhầm • Vẫn còn khó hiểu 6 Nhược điểm • Khó kiểm soát được hết các trường hợp • Lỗi số học, lỗi bộ nhớ,… • Lập trình viên thường quên không xử lý lỗi • Bản chất con người • Thiếu kinh nghiệm, cố tình bỏ qua 8 2 Bắt và xử lý ngoại lệ Sử dụng try và catch Mục đích của xử lý ngoại lệ • Giúp chương trình đáng tin cậy hơn, tránh kết thúc bất thường • Tách biệt khối lệnh có thể gây ngoại lệ và khối lệnh xử lý ngoại lệ ………… IF B IS ZERO GO TO ERROR C = A/B PRINT C GO TO EXIT ERROR: DISPLAY “DIVISION BY ZERO” EXIT: END Khối xử lý lỗi 10 Phân tách code • Lập trình truyền thống: hàm readFile cần nhiều mã nguồn để phát hiện, thông báo và xử lý lỗi. errorCodeType readFile { initialize errorCode = 0; open the file; if (theFileIsOpen) { determine the length of the file; if (gotTheFileLength) { allocate that much memory; if (gotEnoughMemory) { read the file into memory; if (readFailed) { errorCode = -1; } }
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.