Danh mục

Bài giảng Object-Oriented programming: Chương 7 - Văn Thị Thiên Trang

Số trang: 9      Loại file: pdf      Dung lượng: 445.49 KB      Lượt xem: 11      Lượt tải: 0    
tailieu_vip

Phí tải xuống: 3,000 VND Tải xuống file đầy đủ (9 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Chương 7 – Xử lý ngoại lệ. Chương này trình bày những nội dung chính sau đây: Khái niệm, các loại lỗi, xử lý ngoại lệ, cấu trúc các lớp quản lý lỗi, lớp Throwable, lớp Exception, bắt ngoại lệ, lan truyền lỗi, ném ra ngoại lệ, tự định nghĩa exception. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Object-Oriented programming: Chương 7 - Văn Thị Thiên TrangMục tiêuChương 7.Giải thích được lỗi cú pháp và lỗi thực thichương trìnhtrình.Giải thích được mô hình đối tượng Exceptioncủa Java.Giải thích được cú pháp bẫy lỗi bằngtry...catch... finally.finally.Sử ddụng đđược ththrow và thà throws trong code,tdTự định nghĩa được Exception.XỬ LÝ NGOẠI LỆ2/34Nội dung1. Khái niệmNgoại lệ (Exception): là những điềukhôkhông mong muốn xảy ra khi thực hiệốảthự hiệnchương trình Java.Lỗi thi hành là một dạng ngoại lệVí dụ:1. Khái niệm2. Các l i2 Cá loại lỗi3. Xử lý ngoại lệ4. Cấu trúc các lớp quản lý lỗi5. Lớp Throwable6. Lớp Exception7. Bắt ngoại lệ8. Lan truyền lỗi9. Ném ra ngoại lệ10. Tự định nghĩa Exception• Thực hiện phép chia cho 00.• Khi đọc một tập tin không tồn tại.• Khi thao tác vượt quả chỉ số mảng.3/344/3411. Khái niệm1. Khái niệm5/342. Các loại lỗiBài toánHiệnthựcCode?CompileCompile-time error = Syntax errorCorrect resultRun- iRun-time error = Exception, tình h ốì h huống bấbấtbình thường đã xẩy ra trong khi chương trìnhthực thi.CompileNoSyntax errorWrong resultEND2. Các loại lỗiSyntax errorBEGINRun6/34Chương trìnhRun-time error( Eception )Khi có Exception:• Có thể là máy bị treo (y ị(halt).)• Chương trình ngắt đột ngột, điều khiển trả về choOS, OS thu hồi bộ nhớ của chương trình.Cần có cơ chế điều khiển tình huống này.7/348/3423. Xử lý ngoại lệ4. Cấu trúc các lớp quản lý lỗiJava là ngôn ngữ mạnh (robust) bắt cácngoại lệlệ.Khi có run-time error, thông tin về lỗi nàyrunđược máy ảo tự động phát ra thông quamột đối tượng Exception. Đối tượng này cóthể bẫy từ chương trình nhờ cơ chế giaotiếp giữa máy ảo và chương trình.Java cung cấp một tập rất nhiều lớp mô tảcác lỗi trong gói java.lang.Tham khảo Java Documentation.9/345. Lớp Throwable10/3410/346. Lớp ExceptionCác lớp Exception đều được dẫn ra từlớp àlớ này.Chứa các hành vi giúp truy xuất thôngtin về lỗi như:• nội dung mô tả lỗi : getMesage(),g()toString()• nội dung stack lúc gây lỗi:getStackTrace(), printStackTrace(),• ....Khi xảy ra ngoại lệ, Java ném ra một đốitượng ứng với ngoại lệ.lệ.Các đối tượng ngoại lệ sinh ra từ các lớp concủa lớp Exception.Exception.Lớp Exception là lớp cơ sở cho các ngoại lệ.lệ.Các phương thức của lớp Exception.Exception.• printStackTrace(): in chi tiết thông báo ngoại lệ.printStackTrace():lệ.• toString(): trả về xâu thông báo ngoại lệ.toString():lệ.11/3411/3412/3412/3436. Lớp Exceptionclass6. Lớp ExceptionGiải thíchExceptionLớp nền của các run-time errorrun-RuntimeExceptionLớp nền của nhiều lớp run-timerunerrorArithmeticExceptionLỗi do thực thi một phép toánIllegalArgumentExceptionLỗi sai đối số của hàmclassGiải thíchSecurityExceptionLỗi do truy cập bị cấmClassNotFoundExceptionLỗi xuất nhậpFileNotFoundExceptionLỗi do không tìm thấy fileLỗi do cố truy cập nội dung 1 filekhi đã ở cuối fileLỗi do truy cập 1 class bị cấmNoSuchMethodExceptionLỗi do viết sai tên hành viInterruptedExceptionLỗi do truy xuất một đối tượngmà chưa khởi tạoIOExceptionIllegalAccessExceptionNullPointerExceptionLỗi do không đúng dạng sốEOFExceptionArrayIndexOutOfBoundsExcepti Lỗi do chỉ số ngoài tầm củaonmảngNumberFormatExceptionLỗi do ngắt ngang 1 luồng lệnhđang được thực thiLỗi do không tìm thấy file.class13/3413/347. Bắt ngoại lệ14/3414/347. Bắt ngoại lệCó thể bắt và xử lý ngoại lệ bằng khối try ..Catch:Try{Khối lệnh có khả năng xuất hiện ngoại lệ}Catch(Exception e1){ xử lý ngoại lệ e1 }Catch(Exception e2){ xử lý ngoại lệ e2 }Catch(Exception en){ Xử lý ngoại lệ en }C t h(Eti){iFinally{ Thực hiện sau khi xử lý ngoại lệ }Chức năng:• Nếu các lệnh trong khối try{..} có ngoại lệném ra thì sẽ so sánh với các loại ngoại lệtrong catch(..).• Nếu đúng ngoại lệ trong catch thì thựchiện các lệnh xử lý ngoại lệ tương ứng.• Các lệnh trong khối finally được thực hiệndù có hay không có ngoại lệ.15/3415/3416/3416/3447. Bắt ngoại lệ7. Bắt ngoại lệ17/3417/347. Bắt ngoại lệ18/3418/347. Bắt ngoại lệMảng 5 phần tử màlại truy cập a[10]Bẫy lỗi mức tổng quát19/3419/34Mảng 5 phần tửmà lại truy cậpa[10]Bẫy lỗi cụ thể20/3420/345 ...

Tài liệu được xem nhiều: