更新時(shí)間:2022-04-24 10:40:04 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1647次
Java異常處理是編程最重要的特性之一,它允許我們處理由異常引起的運(yùn)行時(shí)錯(cuò)誤。在本指南中,動(dòng)力節(jié)點(diǎn)小編將通過(guò)示例了解什么是異常、異常類型、異常類以及如何在 java 中處理異常。
異常是中斷程序正常流程的不需要的事件。當(dāng)發(fā)生異常時(shí),程序執(zhí)行將終止。在這種情況下,我們會(huì)收到系統(tǒng)生成的錯(cuò)誤消息。異常的好處是它們可以在 Java 中處理。通過(guò)處理異常,我們可以向用戶提供有關(guān)問(wèn)題的有意義的消息,而不是系統(tǒng)生成的消息,用戶可能無(wú)法理解。
可能有多種原因會(huì)導(dǎo)致程序拋出異常。例如:在您的程序中打開(kāi)一個(gè)不存在的文件、網(wǎng)絡(luò)連接問(wèn)題、用戶提供的錯(cuò)誤輸入數(shù)據(jù)等。
如果發(fā)生了程序員未處理的異常,則程序執(zhí)行將終止,并向用戶顯示系統(tǒng)生成的錯(cuò)誤消息。例如看下面系統(tǒng)生成的異常: 下面給出系統(tǒng)生成的異常
線程“主” java中的異常。朗_ ArithmeticException : /在ExceptionDemo處為零。main ( ExceptionDemo.java:5 ) ExceptionDemo :類名_ _ _ _ _
main :方法
名ExceptionDemo 。java :文件名
java : 5 :行號(hào)
此消息對(duì)用戶不友好,因此用戶將無(wú)法理解出了什么問(wèn)題。為了讓他們用簡(jiǎn)單的語(yǔ)言知道原因,我們處理異常。我們處理這些情況,然后向用戶打印一條用戶友好的警告消息,讓他們糾正錯(cuò)誤,因?yàn)榇蠖鄶?shù)時(shí)候由于用戶提供的錯(cuò)誤數(shù)據(jù)而發(fā)生異常。
異常處理確保程序的流程在發(fā)生異常時(shí)不會(huì)中斷。例如,如果一個(gè)程序有一堆語(yǔ)句,并且在執(zhí)行某些語(yǔ)句的中途發(fā)生異常,那么異常之后的語(yǔ)句將不會(huì)執(zhí)行,程序?qū)⑼蝗唤K止。
通過(guò)處理,我們確保所有語(yǔ)句都執(zhí)行并且程序流不會(huì)中斷。
錯(cuò)誤表明發(fā)生了足夠嚴(yán)重的錯(cuò)誤,應(yīng)用程序應(yīng)該崩潰而不是嘗試處理錯(cuò)誤。
異常是代碼中發(fā)生的事件。程序員可以處理這些情況并采取必要的糾正措施。幾個(gè)例子:
NullPointerException – 當(dāng)您嘗試使用指向 null 的引用時(shí)。
ArithmeticException – 當(dāng)用戶提供錯(cuò)誤數(shù)據(jù)時(shí),例如,當(dāng)您嘗試將數(shù)字除以零時(shí),會(huì)發(fā)生此異常,因?yàn)槲炊x將數(shù)字除以零。
ArrayIndexOutOfBoundsException – 當(dāng)您嘗試訪問(wèn)超出其邊界的數(shù)組元素時(shí),例如數(shù)組大小為 5(這意味著它有五個(gè)元素)并且您嘗試訪問(wèn)第 10 個(gè)元素。
Java 中的異常有兩種類型:
1.Checked exceptions
2.Unchecked exceptions
我在一個(gè)單獨(dú)的教程中詳細(xì)介紹了這一點(diǎn):Java 中的 Checked and Unchecked exceptions。
除了運(yùn)行時(shí)異常之外的所有異常都稱為檢查異常,因?yàn)榫幾g器會(huì)在編譯期間檢查它們以查看程序員是否已處理它們。如果這些異常沒(méi)有在程序中處理/聲明,你會(huì)得到編譯錯(cuò)誤。例如,SQLException、IOException、ClassNotFoundException 等。
運(yùn)行時(shí)異常也稱為未經(jīng)檢查的異常。這些異常不會(huì)在編譯時(shí)檢查,因此編譯器不會(huì)檢查程序員是否處理了它們,但程序員有責(zé)任處理這些異常并提供安全退出。例如,ArithmeticException、NullPointerException、ArrayIndexOutOfBoundsException 等。
以上就是關(guān)于“簡(jiǎn)述Java異常處理機(jī)制示例”介紹,大家如果對(duì)此比較感興趣,想了解更多相關(guān)知識(shí),不妨來(lái)關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java基礎(chǔ)教程,里面有更豐富的知識(shí)等著大家去學(xué)習(xí),希望對(duì)大家能夠有所幫助哦。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743