Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
441 KB
Nội dung
Slide 1/41 Chương6LỖILÚCTHỰCTHIvà QUÁ TRÌNHGOMRÁC Exception – Garbage Collection Slide 2/41 ÔN TẬP Lớp trừu tượng- abstract class- là sản phẩm của qúatrình khái quát hóa qúa cao. Lớp trừu tượng là lớp có hành vi trừu tượng. Cú pháp khai báo lớp trừu tượng abstract class A { abstract [modifier] Type Method(args); } public, protected, friendly Slide 3/41 Ôn tập Lớp cụ thể (concrete class) là lớp chỉ chứa các hành cụ thể (có code). Lớp con của một lớp trừu tượng mà chưa cụ thể hóa một hành vi trừu tượng thừa kế từ lớp cha thì lớp con này cùng là lớp trừu tượng. Slide 4/41 Mục tiêu Giải thích được lỗi cú pháp vàlỗithựcthichương trình. Giải thích được mô hình đối tượng Exception của Java. Giải thích được cú pháp bẫy lỗi bằng try catch finally. Sử dụng được throw và throws trong code, Tự định nghĩa được Exception. Giải thích được cơ chế gomrác của Java. Slide 5/41 Nội dung 6.1- Các loại lỗi của chươngtrình 6.2- Cấu trúc các lớp quản lý lỗi của Java. 6.3- Bẫy lỗi bằng try catch finally 6.4- Lan truyền lỗi 6.5- Xuất Exception 6.6- Tự định nghĩa Exception 6.7- Cơ chế gomrác Slide 6/41 6.1- Các loại lỗi của chươngtrình Bài toán Code Chươngtrình Hiện thực Compile Run Syntax error No Syntax error Correct result END BEGIN Run-time error ( Exception ) Wrong result ? Slide 7/41 Các loại lỗi của chươngtrình Compile-time error = Syntax error Run-time error = Exception, tình huống bất bình thường đã xẩy ra trong khi chươngtrìnhthực thi. Khi có Exception: – Có thể là máy bị treo (halt). – Chươngtrình ngắt đột ngột, điều khiển trả về cho OS, OS thu hồi bộ nhớ của chươngtrình ( đuổi ra ngoài ). Cần có cơ chế điều khiển tình huống này. Slide 8/41 6.2- Cấu trúc các lớp quản lý lỗi của Java Java là ngôn ngữ mạnh (robust) nên có các hỗ trợ giúp tối thiểu hóa các exception. Khi có run-time error, thông tin về lỗi này được máy ảo tự động phát ra thông qua một đối tượng Exception. Đây là đối tượng được phát sinh động (dynamic thrown object) từ máy ảo, Đối tượng này có thể bẫy từ chươngtrình nhờ cơ chế giao tiếp giữa máy ảo vàchương trình. Java cung cấp một tập rất nhiều các lớp mô tả các lỗi cùng với cơ chế bẫy lỗi giúp developer có thể quản lý các exception trong code của chương trình. Gói java.lang định nghĩa rất nhiều lớp lỗi run-time. Tham khảo Java Documentation. Slide 9/41 Cấu trúc các class quản lý lỗi của Java Object Throwable ExceptionError AWTError ThreadDead … SQLException ClassNotFoundException … RuntimeException ArithmeticException NullPointerException NumberFormatException Khi 1 error/exception xẩy ra, ta nói rằng nó bị “thrown” (throw) … Slide 10/41 Lớp Throwable Các lớp Exception đều được dẫn ra từ lớp này. Chứa các hành vi giúp truy xuất thông tin về lỗi như: – nội dung mô tả lỗi : getMesage(), toString() – nội dung stack lúc gây lỗi: getStackTrace(), printStackTrace(), – [...]... 28/41 6. 7- Cơ chế gom rác Rác: Đối tượng không còn được tham khảo đến Garbage Collector: Trình gom rác, là một luồng được thựcthi khi “máy rảnh” hoặc là khi có yêu cầu cấp bộ nhớ mà bộ nhớ “không còn đủ” Application chủ động gọi trình gomrác bằng: System.gc(); Tuy nhiên, GC có độ ưu tiên kém, nếu JVM rảnh thì GC mới thựcthi Có thể gọi GC thông qua lớp Runtime, lớp chứa thông tin về môi trường thực thi. .. InterruptedException Lỗi do ngắt ngang 1 luồng lệnh đang được thựcthi Slide 12/41 6. 3-Bẫy lỗi bằng try catch finally Để chươngtrình vẫn có thể tiếp tục hoạt động, người lập trình cần phải dự đoán lỗi có thể xẩy ra để bẫy lỗi Bẫy lỗi bằng cú pháp: try catch finally try { < các lệnh thử làm> } catch ( Exception1 e1) { < code xử lý lỗi> } catch ( Exception2 e2) { < code xử lý lỗi> } finally { . Slide 1/41 Chương 6 LỖI LÚC THỰC THI và QUÁ TRÌNH GOM RÁC Exception – Garbage Collection Slide 2/41 ÔN TẬP Lớp trừu tượng- abstract class- là sản phẩm của qúa trình khái quát hóa qúa cao. Lớp. được cơ chế gom rác của Java. Slide 5/41 Nội dung 6. 1- Các loại lỗi của chương trình 6. 2- Cấu trúc các lớp quản lý lỗi của Java. 6. 3- Bẫy lỗi bằng try catch finally 6. 4- Lan truyền lỗi 6. 5- Xuất. Lan truyền lỗi 6. 5- Xuất Exception 6. 6- Tự định nghĩa Exception 6. 7- Cơ chế gom rác Slide 6/ 41 6. 1- Các loại lỗi của chương trình Bài toán Code Chương trình Hiện thực Compile Run Syntax error No Syntax