Danh mục

Bài giảng lập trình java - Bài 6

Số trang: 19      Loại file: pdf      Dung lượng: 168.28 KB      Lượt xem: 14      Lượt tải: 0    
tailieu_vip

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Ngoại lệ là sự kiện xảy ra trong khi thực hiện chương trình va phá vỡ luồng điều khiển của chương trình, khi lỗi xuất hiện , phương thức xuất hiện lỗi tạo đối tượng ngoại lệ chứa thông tin về lỗi và gửi cho hệ thống thực thi. Việc tạo và gửi hệ thống thực thi được gọi là ném.
Nội dung trích xuất từ tài liệu:
Bài giảng lập trình java - Bài 6 Bài gi ng L P TRÌNH JAVA Lê ðình Thanh B môn M ng và Truy n thông Máy tính Khoa Công ngh Thông tin Trư ng ð i h c Công ngh , ðHQGHN Lê ðình Thanh, Các l p thi t y u trong Java Bài 6 Các l p thi t y u Lê ðình Thanh, Các l p thi t y u trong Java N i dung • X lý ngo i l Vào, ra cơ b n • X lý ñ ng th i • Môi trư ng • • Bi u th c chính quy Lê ðình Thanh, Các l p thi t y u trong Java Ngo i l • Ngo i l (exception hay exceptional event) là s ki n x y ra trong khi th c thi chương trình và phá v lu ng ñi u khi n c a chương trình. • Khi l i xu t hi n Phương th c xu t hi n l i t o ñ i tư ng ngo i l (exception • object) ch a thông tin v l i và g i cho h th ng th c thi (runtime system). Vi c t o và g i ñ i tư ng ngo i l cho h th ng th c thi ñư c g i là ném (throw) ngo i l . H th ng th c thi tìm ngư c chu i tri u g i (call stack) • phương th c ñ tìm ra phương th c ch a ño n mã x lý ngo i l (exception handler) ðo n mã x lý ngo i l b t (catch) ngo i l và x lý • Lê ðình Thanh, Các l p thi t y u trong Java X lý ngo i l Searching the call stack Call Stack for the exception handler Lê ðình Thanh, Các l p thi t y u trong Java B t và x lý ngo i l try { //mã chương trình x lý nghi p v } catch (ExceptionType1 e) { //mã x lý ngo i l n u ngo i l thu c ki u ExceptionType1 } [catch (ExceptionType2 e) { //mã x lý ngo i l n u ngo i l thu c ki u ExceptionType2 } finally { //mã th c thi b t k ngo i l x y ra hay không }] Lê ðình Thanh, Các l p thi t y u trong Java B t và x lý ngo i l Mã ñư c th c thi K t qu in ra màn hình Entering try statement Closing PrintWriter Lê ðình Thanh, Các l p thi t y u trong Java B t và x lý ngo i l Mã ñư c th c thi K t qu in ra màn hình Entering try statement Caught IOException: OutFile.txt PrintWriter not open Lê ðình Thanh, Các l p thi t y u trong Java B t và x lý ngo i l Ném FileWriter FileWriter Tìm handler Chuy n PrintWriter PrintWriter ti p Tìm handler Bt writeList writeList main main Call Stack Lê ðình Thanh, Các l p thi t y u trong Java Ném ngo i l M i ngo i l ñ u ph i ñư c phát sinh m t phương th c trư c • khi ñư c chuy n ti p và b t các phương th c tri u g i M t phương th c có th phát sinh ngo i l và phương th c tri u • g i có th b t và x lý • Áp d ng khi vi t gói, ví d gói x lý danh sách. • ð ngư i vi t ng d ng có th x lý theo ý c a h public Object pop() { Object obj; if (size == 0) { throw new EmptyStackException(); } obj = objectAt(size - 1); setObjectAt(size - 1, null); size--; return obj; } Lê ðình Thanh, Các l p thi t y u trong Java Chuy n ti p ngo i l M t phương th c có th không b t và x lý ngo i l mà chuy n • ti p cho phương th c ñã tri u g i nó (phương th c li n trư c trong chu i tri u g i) • Áp d ng khi vi t gói, ví d gói x danh sách. • ð ngư i vi t ng d ng có th x lý theo ý c a h public void writeList() throws IOException, ArrayIndexOutOfBoundsException { PrintWriter out = new PrintWriter(new FileWriter(OutFile.txt)); for (int i = 0; i < SIZE; i++) { out.println(Value at: + i + = + vector.elementAt(i)); } out.close(); } Lê ðình Thanh, Các l p thi t y u trong Java Các l p ném ñư c Các l p Error ñ nh nghĩa các s c nghiêm tr ng, thu c • JVM. Các ng d ng thư ng không ném và b t Error Các l p Exception ñ nh nghĩa các ngo i l khi vi t gói • Lê ðình Thanh, Các l p thi t y u trong Java ð nh nghĩa l p ngo i l ð nh nghĩa l p ngo i l ng v i các ngo i l phát sinh • trong l p ñư c ñ nh nghĩa • K th a t l p Exception Ví d , l p LinkedList v i các phương th c objectAt(int n) — L y ñ i tư ng v trí th n – Ném ngo i l InvalidIndexException n u n < 0 ho c n >= size. firstObject() — L y ñ i tư ng ñ u tiên – Ném ngo i l EmptyListException khi danh sách r ng. in ...

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