Danh mục

Chương 7: XỬ LÝ NGOẠI LỆ (Exception Handling)

Số trang: 15      Loại file: doc      Dung lượng: 153.50 KB      Lượt xem: 13      Lượt tải: 0    
Hoai.2512

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

Thông tin tài liệu:

Sau khi kết thúc chương này, bạn có thể nắm được các nội dung sau:Định nghĩa một ngoại lệ (Exception).Hiểu được mục đích của việc xử lý ngoại lệ. Hiểu được các kiểu ngoại lệ khác nhau trong Java.Mô tả mô hình xử lý ngoại lệ.Hiểu được các khối lệnh chứa nhiều khối xử lý ngoại lệ (catch).Mô tả cách sử dụng các khối ‘try’, ‘catch’ và ‘finally’.Giải thích cách sử dụng các từ khoá ‘throw’ và ‘throws’.Tự tạo ra các ngoại lệ....
Nội dung trích xuất từ tài liệu:
Chương 7: XỬ LÝ NGOẠI LỆ (Exception Handling)Chương7 XỬLÝNGOẠILỆ(ExceptionHandling)Saukhikếtthúcchươngnày,bạncóthểnắmđượccácnộidungsau: Địnhnghĩamộtngoạilệ(Exception) Hiểuđượcmụcđíchcủaviệcxửlýngoạilệ HiểuđượccáckiểungoạilệkhácnhautrongJava Môtảmôhìnhxửlýngoạilệ Hiểuđượccáckhốilệnhchứanhiềukhốixửlýngoạilệ(catch) Môtảcáchsửdụngcáckhối‘try’,‘catch’và‘finally’ Giảithíchcáchsửdụngcáctừkhoá‘throw’và‘throws’ Tựtạoracácngoạilệ7.1GiớithiệuExceptionlàmộtloạilỗiđặcbiệt.Lỗinàyxuấthiệnvàolúcthựcthichươngtrình.Cáctrạngtháikhôngbìnhthườngxảyratrongkhithihànhchươngtrìnhtạoracácexception.Nhữngtrạngtháinàykhôngđượcbiếttrướctrongkhitađangxâydựngchươngtrình.Nếubạnkhôngxửlýcáctrạngtháinàythìchươngtrìnhcóthểbịkếtthúcđộtngột.Vídụ,việcchiacho0sẽtạomộtlỗitrongchươngtrình.NgônngữJavacungcấpcơchếdùngđểxửlýngoạilệrấthiệuquả.Việcxửlýnàylàmhạnchếtốiđatrườnghợphệthốngbịhỏng(crash)hayhệthốngbịngắtđộtngột.TínhnăngnàylàmchoJavatrởthànhmộtngônngữlậptrìnhmạnh.7.2MụcđíchcủaviệcxửlýngoạilệMộtchươngtrìnhnêncócơchếxửlýngoạilệthíchhợp.Nếukhông,chươngtrìnhsẽbịngắtkhimộtngoạilệxảyra.Trongtrườnghợpđó,tấtcảcácnguồntàinguyênmàhệthốngđãcấpkhôngđượcgiảiphóng.Điềunàygâylãngphítàinguyên.Đểtránhtrườnghợpnày,tấtcảcácnguồntàinguyênmàhệthốngcấpnênđượcthuhồilại.Tiếntrìnhnàyđòihỏicơchếxửlýngoạilệthíchhợp.Vídụ,xétthaotácvàora(I/O)trongmộttậptin.Nếuviệcchuyểnđổikiểudữliệukhôngthựchiệnđúng,mộtngoạilệsẽxảyravàchươngtrìnhbịhủymàkhôngđóngtậptinlại.Lúcđótậptindễbịhưhạivàcácnguồntàinguyênđượccấpphátchotậptinkhôngđượctrảlạichohệthống.Chương 7: Xử lý ngoại lệ (Exception Handling) 1757.3XửlýngoạilệKhimộtngoạilệxảyra,đốitượng(object)tươngứngvớingoạilệđóđượctạora.Đốitượngnàysauđóđượctruyềnchophươngthứclànơimàngoạilệxảyra.Đốitượngnàychứathôngtinchitiếtvềngoạilệ.Thôngtinnàycóthểđượcnhậnvềvàđượcxửlý.Cácmôitrườngruntimenhư‘IllegalAccessException’,‘EmptyStackException’v.v…cóthểtạorangoạilệ.Chươngtrìnhđôikhicóthểtựtạorangoạilệ.Lớp‘Throwable’đượcJavacungcấplàlớptrêncùngcủalớpException(lớpđầutiêntrongcâythừakế),lớpnàylàlớpchacủatấtcảcácngoạilệkhác.7.4MôhìnhxửlýngoạilệTrongJava,môhìnhxửlýngoạilệgiámsátviệcthựcthimãđểpháthiệnngoạilệ.MôhìnhxửlýngoạilệcủaJavađượcgọilà‘catchandthrow’.Trongmôhìnhnày,khimộtngoạilệxảyra,ngoạilệsẽbịchặnvàchươngtrìnhchuyểnđếnmộtkhốixửlýngoạilệ.Ngườilậptrìnhphảixửlýcácngoạilệkhácnhaucóthểphátsinhtrongchươngtrình.Cácngoạilệphảiđượcxửlý,hoặcthoátkhỏichươngtrìnhkhinóxảyra.NgônngữJavacungcấp5từkhoásauđểxửlýcácngoạilệ: try catch throw throws finallyDướiđâylàcấutrúccủamôhìnhxửlýngoạilệ:try{ //đoạnmãcókhảnănggâyrangoạilệ}catch(Exceptione1){ //Nếucáclệnhtrongkhối‘try’tạorangoạilệcóloạie1,thìthựchiện//xửlýngoạilệ nếukhôngchuyểnxuốngkhốicatchtiếptheo}catch(Exceptione2)176 Core Java{ //Nếucáclệnhtrongkhối‘try’tạorangoạilệcóloạie2,thìthựchiện//xửlýngoạilệ nếukhôngchuyểnxuốngkhốicatchtiếptheo}catch(ExceptioneN){ //Nếucáclệnhtrongkhối‘try’tạorangoạilệcóloạieN,thìthựchiện//xửlýngoạilệ nếukhôngchuyểnxuốngkhốicatchtiếptheo}finally{ //khốilệnhnayluônđượcthựchiệnchodùngoạilệcóxảyrahaykhông.}7.4.1Cácưuđiểmcủamôhình‘catchvàthrow’Môhình‘catchvàthrow’cóhaiưuđiểm: Ngườilậptrìnhchỉphảixửlýngoạilệkhicầnthiết.Khôngcầnphảithựchiệntạimọimức. Thôngbáolỗicóthểđượchiệnrakhitiếnhànhxửlýngoạilệ.7.4.2Cáckhối‘try’và‘catch’Khối‘trycatch’đượcsửdụngđểthihànhmôhình‘catchvàthrow’củaviệcxửlýngoạilệ.Khối‘try’chứamộttậplệnhcóthểthihànhđược.Cácngoạilệcóthểbịchặnkhithihànhtậplệnhnày.Phươngthứccókhảnăngtạorangoạilệcóthểđượckhaibáotrongkhối‘try’.Mộthaynhiềukhối‘catch’cóthểtheosaumộtkhối‘try’.Cáckhối‘catch’nàybắtcácngoạilệcókhảnăngtạoratrongtrongkhối‘try’.Hãyxemkhối‘try’dướiđây:try{ doFileProcessing();//phươngthứcdongườisửdụngđịnhnghĩa displayResults();}catch(Exeptione)//thểhiệncủangoạilệChương 7: Xử lý ngoại lệ ( ...

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