Giáo trình java cơ bản - Chương 7
Số trang: 15
Loại file: doc
Dung lượng: 153.50 KB
Lượt xem: 25
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Exception là một loại lỗi đặc biệt. Lỗi này xuất hiện vào lúc thực thi chương trình. Cáctrạng thái không bình thường xảy ra trong khi thi hành chương trình tạo ra các exception.Những trạng thái này không được biết trước trong khi ta đang xây dựng chương trình.Nếu bạn không xử lý các trạng thái này thì chương trình có thể bị kết thúc đột ngột. Vídụ, việc chia cho 0 sẽ tạo một lỗi trong chương trình. Ngôn ngữ Java cung cấp cơ chếdùng để xử lý ngoại lệ rất hiệu quả. Việc xử lý này làm hạn...
Nội dung trích xuất từ tài liệu:
Giáo trình java cơ bản - Chương 7Chươ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 finally Dướ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ại mọ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 ...
Nội dung trích xuất từ tài liệu:
Giáo trình java cơ bản - Chương 7Chươ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 finally Dướ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ại mọ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 ...
Tìm kiếm theo từ khóa liên quan:
lập trình java ngôn ngữ lập trình giáo trình java java cơ bản ngôn ngữ java Applet của JavaTài liệu có liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 316 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 310 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 293 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 249 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 248 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 242 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 231 1 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 204 0 0 -
Thiết kế mạch logic bằng Verilog - HDL
45 trang 197 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 189 0 0