intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình trên Windows: Chương 6 - Trần Minh Thái

Chia sẻ: Cao Thi Ly | Ngày: | Loại File: PPTX | Số trang:27

53
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Lập trình trên Windows: Chương 6 cung cấp cho người học các kiến thức: Khái niệm Codepath, Lỗi (Error), Exception, giải pháp khắc phục lỗi, cơ chế hoạt động của Exception, các lớp Exception thông dụng, các cách sử dụng Exception,...Đây là tài liệu tham khảo hữu ích cho các bạn chuyên ngành.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình trên Windows: Chương 6 - Trần Minh Thái

  1. Lập trình Windows Chương 6. Exception 1
  2. Nội dung • Khái niệm Codepath, Lỗi (Error), Exception • Giải pháp khắc phục lỗi • Cơ chế hoạt động của Exception • Các lớp Exception thông dụng • Các cách sử dụng Exception 2
  3. Exception Khái niệm Codepath, Lỗi (Error), Exception • Code path • Code path là một dãy tuần tự lời gọi các phương thức và được lưu trên stack CLR Main() One() Two() Three() Divide() 3
  4. Exception Khái niệm Codepath, Lỗi (Error), Exception • Lỗi (error) phát sinh nguyên do từ • Người viết chương trình • Cú pháp • Kỹ thuật lập trình, thuật toán • Môi trường xung quanh • User: Nhập dữ liệu vượt quá miền giá trị, định dạng không hợp lệ, đọc file không tồn tại • Phần cứng: Đĩa bị đầy, đĩa hư, mạng không kết nối, … Error = Compile error + Runtime Error 4
  5. Exception Khái niệm Codepath, Lỗi (Error), Exception • Exception là một tình huống không mong đợi (lỗi) sinh ra khi chương trình đang thực thi (runtime), gây cho đoạn mã không thể tiếp tục để hoàn thành nhiệm vụ • Ví dụ: Ghi dữ liệu vào file • Phần lớn thời gian không có gì xảy ra, nhưng… • Có thể đĩa bị đầy • Có thể có lỗi phần cứng • Có thể File bị thay đổi thành read-only • “Code yếu” bỏ qua những khả năng của có thể xảy ra • “Code mạnh” phải lường trước những vấn đề như thế 5
  6. Exception Khái niệm Codepath, Lỗi (Error), Exception Error = Compile error + Runtime Error Exception = Runtime Error § Exception có thể sinh ra từ các nguồn • CLR – Common Language Runtime • Các thư viện đang dùng • Ứng dụng đang chạy 6
  7. Exception Các giải pháp khắc phục lỗi • Giải pháp khắc phục lỗi trong C# • Công cụ cho người viết chương trình • Debug • Kiểm tra tính hợp lệ của dữ liệu trước khi dùng • Exception • Công cụ cho máy • Trình biên dịch • CLR • Garbage collection – GC • Exception – Công cụ khắc phục Exception cuối cùng của CLR 7
  8. Exception Các giải pháp khắc phục lỗi • Giải pháp truyền thống là dùng "completion codes”: cho phép nơi gọi phương thức kiểm tra xem lời gọi phương thức: thành công hoàn toàn hay thành công 1 phần hay thất bại GET A FILENAME OPEN THE FILE IF THERE IS NO ERROR OPENING THE FILE READ SOME DATA IF THERE IS NO ERROR READING THE DATA PROCESS THE DATA WRITE THE DATA IF THERE IS NO ERROR WRITING THE DATA CLOSE THE FILE IF THERE IS NO ERROR CLOSING FILE RETURN 8
  9. Exception Các giải pháp khắc phục lỗi • Nhận xét về giải pháp completion codes • Chương trình dường như chỉ tập trung đối phó với lỗi • Rất khó xác định các “đoạn mã chính”, khó xác định nhiệm vụ chính của phương thức là gì • Khó dùng phương thức 9
  10. Exception Các giải pháp khắc phục lỗi • Dùng giải pháp exception đoạn mã trông như sau TRY TO DO THESE THINGS: GET A FILENAME OPEN THE FILE READ SOME DATA PROCESS THE DATA WRITE THE DATA CLOSE THE FILE RETURN IF ERROR OPENING THE FILE THEN ... IF ERROR READING THE DATA THEN ... IF ERROR WRITING THE DATA THEN ... IF ERROR CLOSING THE FILE THEN ... 10
  11. Exception Các giải pháp khắc phục lỗi • Nhận xét về giải pháp exception • Tách phần kiểm tra lỗi và “đoạn mã chính” • Dễ dàng xác định nhiệm vụ chính yếu của phương thức • Ngắn hơn và dễ dàng đọc hơn 11
  12. Exception Các giải pháp khắc phục lỗi • Giải pháp exception (exception handling) • try • catch • throw • finally • System exception: Cung cấp sẵn • Application exception: Tự tạo các lớp exception để sinh ra các exception cho riêng ứng dụng 12
  13. Exception Cơ chế hoạt động • Cơ chế hoạt động: Trong C#, khi một Exception xuất hiện • Một đối tượng exception được tạo ra để lưu thông tin exception • Đối tượng exception này được ném (throw) trả về cho phương thức cha (theo code path) cho đến khi tìm thấy phương thức nào chịu bắt nó • Nếu không có phương thức nào bắt đối tượng exception thì CLR in thông tin lỗi và kết thúc chương trình 13
  14. Exception Cơ chế hoạt động Các Method CLR được gọi tuần tự Main() One() Two() Three() Divide() Đối tượng Exception được truyền ngược lại 14
  15. Exception Các lớp Exception thông dụng • Exception • SystemException • ArgumentException • ArgumentNullException • ArgumentOutOfRangeException • ArithmeticException • DivideByZeroException • OverflowException • NotFiniteNumberException • IOException • FileNotFoundException • DirectoryNotFoundException • FileLoadException • EndOfStreamException 15
  16. Exception Các lớp Exception thông dụng • Exception • SystemException • EndOfStreamException • NotImplementedException • InvalidCastException • FormatException • IndexOutOfRangeException • NullReferenceException • RankException • StackOverflowException • ApplicationException • Các kiểu exception tự định nghĩa 16
  17. Exception Các lớp Exception thông dụng • Một số thuộc tính trong lớp Exception • Message • Source • StackTrace • TargetSite 17
  18. Exception - Các cách sử dụng Exception try { A; B; C; } catch (xxxException ex) { … } catch (xxxException ex) { … } … finally { … } 18
  19. Exception Các cách sử dụng Exception • Chú ý • Nếu có nhiều catch phù hợp với lỗi thì catch nào gần try nhất sẽ được sử dụng • Không nên đặt catch tổng quát hơn lên trên những catch khác 19
  20. Exception Các cách sử dụng Exception • Bắt mọi exception try try { { A; A; B; B; C; C; } } catch (Exception ex) catch { { … … } } finally finally { { … … } } 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2