(19)-第5章-Java程序設(shè)計(jì)異常處理_第1頁(yè)
(19)-第5章-Java程序設(shè)計(jì)異常處理_第2頁(yè)
(19)-第5章-Java程序設(shè)計(jì)異常處理_第3頁(yè)
(19)-第5章-Java程序設(shè)計(jì)異常處理_第4頁(yè)
(19)-第5章-Java程序設(shè)計(jì)異常處理_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第5章異常處理知識(shí)目標(biāo)理解異常的概念;掌握異常處理的方法;了解異常類;掌握自定義異常的方法;了解異常的使用原則。能力目標(biāo)學(xué)會(huì)使用常見(jiàn)異常類;能會(huì)利用異常處理機(jī)制解決程序中出現(xiàn)的問(wèn)題。本章教學(xué)目標(biāo)第5章異常處理4任務(wù)陳述123知識(shí)準(zhǔn)備任務(wù)實(shí)施任務(wù)拓展任務(wù)實(shí)訓(xùn)51任務(wù)陳述任務(wù)描述:在一個(gè)除法計(jì)算的程序中,用戶輸入的信息可能不符合要求,無(wú)法完成計(jì)算,實(shí)現(xiàn)給出合理的提示信息運(yùn)行結(jié)果:理想狀態(tài)2知識(shí)準(zhǔn)備5.1異常1異常概述異常:異常就是Java程序在運(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤。異常處理將會(huì)改變程序的控制流程,讓程序有機(jī)會(huì)對(duì)錯(cuò)誤作出處理。Java以類的形式對(duì)異常進(jìn)行描述,并封裝成對(duì)象。其實(shí)就是Java對(duì)不正常情況進(jìn)行描述后的對(duì)象體現(xiàn)。例如角標(biāo)越界異常,空指針異常2知識(shí)準(zhǔn)備2異常類異常分類編譯時(shí)異常運(yùn)行時(shí)異常嚴(yán)重錯(cuò)誤異常類圖例:出題程序中的異常ThrowableErrorException子類子類RuntimeException子類2知識(shí)準(zhǔn)備3異常類常用成員方法getMessage():獲取異常信息,返回字符串。toString():獲取異常類名和異常信息,返回字符串。printStackTrace():獲取異常類名和異常信息,以及異常出現(xiàn)在程序中的位置,并輸出到控制臺(tái)。返回值void。printStackTrace(PrintStream

s):常用該方法將異常內(nèi)容保存在日志文件中,以便查閱。2知識(shí)準(zhǔn)備5.2異常處理1try…catch處理方式try{可能出現(xiàn)異常的語(yǔ)句;}catch(異常類名異常變量名){

異常發(fā)生后的操作語(yǔ)句;}try…catch的其他格式try…catch(異常1|異常2|…):多個(gè)異常間必須是平級(jí)關(guān)系try…catch…catch:try…catch…finally例:輸入格式錯(cuò)誤信息的處理2知識(shí)準(zhǔn)備2異常拋出當(dāng)一個(gè)方法不想或不能處理異常,可以將異常拋出格式:throws異常類名寫(xiě)在方法聲明形參小括號(hào)的后面例:publicvoidshow(inta)throwsException{}異常拋出后,由調(diào)用該方法的程序處理該異常2知識(shí)準(zhǔn)備3throw語(yǔ)句在方法內(nèi)部出現(xiàn)某種情況,程序不能繼續(xù)運(yùn)行,需要人為拋出異常,進(jìn)行處理的時(shí)候,就用throw把異常對(duì)象拋出。

格式:throw異常對(duì)象;throws與throw的區(qū)別2知識(shí)準(zhǔn)備5.3自定義異常類擴(kuò)展Exception類定義自己的異常類,然后根據(jù)需要拋出自定義異常對(duì)象。自定義異常類的創(chuàng)建方法繼承自Exception:編譯時(shí)異常繼承自RuntimeException:運(yùn)行時(shí)異常例:

銀行收入支出案例異常注意事項(xiàng)子類重寫(xiě)父類方法要拋出與父類一致的異常,或者不拋出異常子類重寫(xiě)父類方法所拋出的異常不能超過(guò)父類的范疇如果父類被重寫(xiě)的方法沒(méi)有異常拋出,那么子類的方法絕對(duì)不可以拋出異常,如果子類方法內(nèi)有異常發(fā)生,那么子類只能try,不能throws我們到底該如何處理異常呢?3任務(wù)實(shí)施

實(shí)現(xiàn)思路通過(guò)Scanner接收用戶輸入把兩個(gè)接收整數(shù)的語(yǔ)句放入try部分,表示可能拋異常然后用兩個(gè)catch分別對(duì)兩種異常進(jìn)行處理,輸出相應(yīng)的錯(cuò)誤提示3任務(wù)實(shí)施

任務(wù)代碼try{ a=sc.nextInt(); b=sc.nextInt(); c=a/b; System.out.println(a+"/"+b+"="+c); }catch(InputMismatchExceptione1){ System.out.println("輸入的數(shù)據(jù)格式不對(duì),請(qǐng)重新運(yùn)行"); }catch(ArithmeticExceptione2){ System.out.println("除數(shù)不能為0,請(qǐng)重新運(yùn)行"); }4任務(wù)拓展

斷言斷言語(yǔ)句用于調(diào)試代碼階段。在調(diào)試代碼階段讓斷言語(yǔ)句發(fā)揮作用,這樣就可以發(fā)現(xiàn)一些致命的錯(cuò)誤,當(dāng)程序正式運(yùn)行時(shí)就可以關(guān)閉斷言語(yǔ)句,但仍把斷言語(yǔ)句保留在源代碼中,如果以后應(yīng)用程又需要調(diào)試,可以重新啟用斷言語(yǔ)句。使用關(guān)鍵字assert聲明一條斷言語(yǔ)句,斷言語(yǔ)句有以下兩種格式:assertbooleanExpression;assertbooleanExpression:messageException;案例:7-6開(kāi)啟斷言的方法:運(yùn)行時(shí)加參數(shù)-

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論