Java流行了很多年,相信學(xué)習(xí)Java的小伙伴有很多很多,今天小編總結(jié)了關(guān)于Java異常的及幾大問(wèn)題,希望對(duì)你有所幫助。 1、檢查與未檢查 簡(jiǎn)而言之,檢查過(guò)的異常必須顯式地在方法中捕獲或在方法的throw子句中聲明。 未檢查異常是由無(wú)法解決的問(wèn)題引起的,例如除以零、空指針等。 檢查異常特別重要,因?yàn)槟M褂媚腁PI的其他開(kāi)發(fā)人員知道如何處理異常。 2、異常管理的最佳實(shí)踐 如果一個(gè)異常可以被正確處理,那么它應(yīng)該被捕獲,否則,它應(yīng)該被拋出。 3、為什么try中定義的變量不能用于catch或finally中? 在下面的代碼中,try塊中聲明的字符串s不能在catch子句中使用。 代碼沒(méi)有通過(guò)編譯。 原因是你不知道在try塊的什么地方會(huì)拋出異常。 異常很可能是在聲明對(duì)象之前拋出的。 這個(gè)例子是正確的。 4、為什么Double、parseDouble(null)和Integer。parseInt(null)兩個(gè)函數(shù)會(huì)拋出不同的異常? 拋出不同的異常?它們會(huì)拋出不同的異常,這是JDK的問(wèn)題。 它們是由不同的開(kāi)發(fā)人員開(kāi)發(fā)的,所以不值得過(guò)多思考。 5、Java中常用的運(yùn)行時(shí)異常 這里只是其中的一些。 非法數(shù)據(jù)異常,數(shù)組下標(biāo)越界異常。 當(dāng)條件不滿足時(shí),可在if語(yǔ)句中使用: 6、我們能在同一個(gè)catch子句中捕獲多個(gè)異常嗎? 答案是肯定的。 只要這些異常類可以追溯到類繼承層次結(jié)構(gòu)中的同一個(gè)超類,您就只能使用這個(gè)超類。 7、構(gòu)造函數(shù)能拋出java中的異常嗎? 答案是肯定的,構(gòu)造函數(shù)是一種特殊的方法。 8、在final子句中拋出異常 這樣做是合法的: 但是為了具有更好的代碼可讀性,您應(yīng)該將嵌入的try-catch塊包裝為一個(gè)新方法,然后將方法調(diào)用放在finally子句中。 |
|
來(lái)自: 好程序員IT > 《Java培訓(xùn)教程》