Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
1,52 MB
Nội dung
BÀI X lý ngo i l Nh c l i c Package Interface S d ng package Các t khóa public, protected, private Các package chu n c a Java Khái ni m inteface Th c thi interface K th a interface N i dung h c S d ng kh i try…catch đ x lý ngo i l S d ng final kh i try…catch S d ng t khóa throws throw S d ng kh i try… catch x lý ngo i l Trong ph n có n i dung: 1.1 C b n v ngo i l (Exception) 1.2 S d ng try… catch x lý ngo i l - try có nhi u catch - kh i try l ng 1.1 C b n v ngo i l Ngo i l gì? • Có nh ng l i ch ch y ch ch ng m i xu t hi n ng trình ang ch y l p t c ng ng l i xu t hi n thơng báo l i – ó ngo i l (exception) • Ví d : Ch ng trình chia s N u ta cho m u s =0 phát sinh l i ó c coi ngo i l 1.2 S d ng kh i try… catch x lý ngo i l • Class Throwable x lý l i ngo i l (Error, Exception) • T t c class d i đ u n m gói java.lang, ngo i tr class IOException n m gói java.io ClassNotFoundException Throwable Exception CloneNotSupportedException IllegalAccessException InstantialtionException IOException * RuntimeException ArithmeticException IllegalArgumentException IndexOutOfBoundsException NullPointerException Error LinkageError More class … ThreadDeath VitualMachineError 1.1 C b n v ngo i l Class Exception Có nhi u ngo i l l p c a l p Exception RuntimeErrorException l p c a l p Exception RuntimeErrorException ngo i l ch x y ch y ch ng trình Ng i l p trình có th t t o class k th a t class Exception Class Error Ch nh ng l i nghiêm tr ng không d nh VirtualMachineError, LinkageError, ThreadDead… Các ngo i l E c x lý c 1.2 S d ng kh i try… catch x lý ngo i l Ngo i l ‘unchecked’: • Là ngo i l không c n ph i ‘catch’ vi t mã • Là class Error, RuntimeException l p c a chúng Ngo i l ‘checked’: • Là ngo i l ph i • Là class l i c ‘catch’ vi t mã 1.2 S d ng kh i try… catch x lý ngo i l Throwable Error Unchecked Error Exception Runtime Checked Exception Exceptions Unchecked Exceptions 1.2 S d ng kh i try… catch x lý ngo i l M t s ngo i l ‘checked’: • ClassNotFoundException • IOException • FileNotFoundException • EOFException M t s ngo i l ‘unchecked’ • • • • • ArithmeticException IllegalArgumentException IndexOutOfBoundException NullPointerException InputMismatchException 10 1.2 S d ng kh i try… catch x lý ngo i l N u xu t hi n ngo i l phép chia cho l nh (1) s x lý, ngo i l khác s c x lý b i l nh (2) N u t (2) i ch cho (1) (2) s x lý ln ngo i l chia cho nh th khơng c n (1) n a Vì th khơng th thay i v trí gi a l nh (1) l nh (2) 16 1.2 S d ng kh i try… catch x lý ngo i l Kh i try l ng 17 1.2 S d ng kh i try… catch x lý ngo i l Trong kh i finally s ch a m t kh i mã s th c hi n sau kh i try/catch Kh i finally s c th c hi n dù ngo i l có xu t hi n hay khơng Tuy nhiên, m i try s yêu c u có nh t catch ho c finally try catch finally try catch try finally 18 S d ng t khóa final try… catch static void proA(){ try{ System.out.println(“Trong ph ng th c proA"); throw new RuntimeException("Demo"); (1) } finally{ System.out.println(“Trong kh i finally c a proA”); } } 19 S d ng t khóa final try… catch static void proB(){ try{ System.out.println(“Trong ph ng th c proB"); return; } finally{ System.out.println(“Trong kh i finally c a proB”); } } 20 S d ng t khóa final try… catch static void proC(){ try{ System.out.println(“Trong ph } finally{ System.out.println(“Trong } ng th c proC"); kh i finally c a proC”); } Nh n xét: • procA() có t o ngo i l mà v n ch y kh i finally • procB() có return mà v n ch y kh i finally S d ng t khóa throws throw T khóa throws T khóa throws c s d ng method dùng xu t ngo i l có th x y method ó Có nh ng method s d ng m t s l nh mà l nh ó có th x y ngo i l ‘checked’ nên b t bu c ph i x lý ngo i l ó Ví d x lý l nh thao tác v i file, ph i x lý ngo i l ‘checked’ FileNotFoundException T t c ngo i l c khai báo b i throws u ph i c x lý, n u khơng có s b thơng báo l i 22 S d ng t khóa throws throw Ví d 1: 23 S d ng t khóa throws throw Ví d (ti p): 24 S d ng t khóa throws throw Ví d 2: Dùng cách throws ph ng th c main 25 S d ng t khóa throws throw c ‘ném’ b i h Thông th ng exception s th ng Java runtime Tuy v y ta v n có th l p trình ‘ném’ ngo i l g p m t tình hu ng ó l p trình Trong m t ph ng th c có th throw nhi u ngo i l Có cách ‘ném’ (throw) ngo i l : • Dùng toán t new • a tham s vào m nh catch Ví d : if (check==0) throw new NullPointerException(); Bài 1: L p trìnhJava 26 S d ng t khóa throws throw 27 S d ng t khóa throws throw Chúng ta có th t vi t class x lý ngo i l c a riêng b ng cách k th a class Exception c a Java: 28 S d ng t khóa throws throw 29 T ng k t h c Ngo i l l i ch x y ch y ch Khi g p ngo i l ch Dùng try… catch ng i l p trình ng trình ng trình l p t c d ng l i x lý ngo i l theo ý c a Dùng try có nhi u catch Dùng try l ng S d ng try-catch-finally S d ng t khóa throws S d ng t khóa throw 30 ... ng trình chia s N u ta cho m u s =0 phát sinh l i ó c coi ngo i l 1.2 S d ng kh i try… catch x lý ngo i l • Class Throwable x lý l i ngo i l (Error, Exception) • T t c class d i đ u n m gói java. lang,... ng kh i try… catch x lý ngo i l Dùng try có nhi u catch 15 1.2 S d ng kh i try… catch x lý ngo i l N u xu t hi n ngo i l phép chia cho l nh (1) s x lý, ngo i l khác s c x lý b i l nh (2) N u t... ‘checked’ nên b t bu c ph i x lý ngo i l ó Ví d x lý l nh thao tác v i file, ph i x lý ngo i l ‘checked’ FileNotFoundException T t c ngo i l c khai báo b i throws u ph i c x lý, n u s b thơng báo l