Java中的異常處理不是一個(gè)容易的話題。初學(xué)者很難理解,即使是經(jīng)驗(yàn)豐富的開發(fā)人員也可以花幾個(gè)小時(shí)討論應(yīng)該如何拋出或處理哪些Java異常。對(duì)Java異常處理開發(fā)感興趣的同學(xué)可以參加java培訓(xùn),可以獲得快速有效的學(xué)習(xí)。
這就是為什么大多數(shù)開發(fā)團(tuán)隊(duì)都有自己的一套關(guān)于如何使用它們的規(guī)則。如果你是一個(gè)團(tuán)隊(duì)的新手,你可能會(huì)驚訝于這些規(guī)則與你以前使用過的規(guī)則有多么不同。
什么是異常?
簡(jiǎn)而言之,異常是程序執(zhí)行過程中的異常情況。
出現(xiàn)問題時(shí)會(huì)發(fā)生異常。試圖打開文件,但文件不存在?這就是異常。試圖對(duì)對(duì)象調(diào)用方法,但變量為空?這也是異常。
什么是異常處理?
異常是不應(yīng)該發(fā)生的壞事。但既然它們確實(shí)發(fā)生了,我們就需要處理它們。這種“處理”就是我們所說的異常處理。
異常處理是一種錯(cuò)誤處理機(jī)制。當(dāng)出現(xiàn)問題時(shí),會(huì)拋出異常。如果不執(zhí)行任何操作,則異常會(huì)導(dǎo)致應(yīng)用程序崩潰。在java培訓(xùn)中,有很多關(guān)于Java異常處理的培訓(xùn)課程,在專業(yè)老師的教學(xué)指導(dǎo)下,可以很全面地掌握J(rèn)ava異常處理的相關(guān)知識(shí)和技能。
或者您可以選擇處理異常。也就是說,您確認(rèn)問題發(fā)生了,防止應(yīng)用程序崩潰,并采取必要的步驟,以便從錯(cuò)誤中恢復(fù)或失敗。
一如既往的錯(cuò)誤處理
異常處理是一種錯(cuò)誤處理機(jī)制,但它不是唯一的機(jī)制。如今,絕大多數(shù)編程語言都將異常處理作為一項(xiàng)功能提供,但情況并不總是這樣。
沒有異常的語言如何處理錯(cuò)誤?
一種流行的方法是返回錯(cuò)誤代碼。例如,假設(shè)您有一個(gè)C函數(shù),它接受一個(gè)整數(shù)數(shù)組和一個(gè)整數(shù),然后搜索并返回與指定數(shù)字匹配的第一個(gè)項(xiàng)的索引。
當(dāng)在數(shù)組中找不到該項(xiàng)時(shí)該怎么辦?一個(gè)普遍的選擇是返回-1。這種方法的優(yōu)點(diǎn)是讓代碼易于推理:不會(huì)打斷代碼,也不會(huì)跳過代碼。只是返回值的舊函數(shù)。想要獲得快速學(xué)習(xí)java開發(fā)技能,建議報(bào)名參加java培訓(xùn),可以在短時(shí)間內(nèi)學(xué)有所成,輕松找到工作。
另一方面,這種錯(cuò)誤處理策略鼓勵(lì)函數(shù)的使用者始終檢查錯(cuò)誤值。
這些驗(yàn)證的數(shù)量之多會(huì)使代碼受到污染。大量的防御性檢查可能會(huì)隱藏重要的業(yè)務(wù)邏輯,從而降低代碼的可讀性和可維護(hù)性。
錯(cuò)誤代碼的另一個(gè)嚴(yán)重缺點(diǎn)是缺乏上下文。您可能知道代碼“-5”意味著找不到某個(gè)文件,但哪個(gè)文件?整數(shù)不能輕易攜帶該信息。
這種方法的另一個(gè)問題是,有時(shí),您無法返回值(例如,想想構(gòu)造函數(shù))。初始化對(duì)象時(shí)出錯(cuò)?有了錯(cuò)誤代碼,你就無能為力了。想深入了解java的同學(xué)可以考慮參加java培訓(xùn),有系統(tǒng)規(guī)范的課程和明確清晰的學(xué)習(xí)路線,讓你快速掌握java更多知識(shí)和技能。
異常的例外情況
出現(xiàn)異常是為了解決你剛剛讀到的問題。
當(dāng)拋出異常時(shí),程序的控制流被中斷。如果沒有人處理該異常,則會(huì)導(dǎo)致程序崩潰。用戶將看到異常消息,但他們很可能無法理解。消息甚至可能無法本地化為其語言。
簡(jiǎn)而言之,這不是一個(gè)好的用戶體驗(yàn)。
因此,您需要處理異常(即使只是為了記錄問題、顯示更友好的錯(cuò)誤消息,然后退出應(yīng)用程序)。
為了處理拋出的異常,我們必須捕獲它。我們通過使用異常處理塊來實(shí)現(xiàn)這一點(diǎn)。當(dāng)我們捕獲異常時(shí),程序的流控制被處理到異常處理塊。在那里,我們可以做出必要的安排來處理例外情況。參加以實(shí)戰(zhàn)項(xiàng)目為主要教學(xué)方法的Java培訓(xùn),可以有效地縮短同企業(yè)具體用人需求之間的差距,快速提升自己。