日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
關(guān)于Java異常的十大問題

1.選中與未選中

例如,IOException 是常用的已檢查異常,而 RuntimeException 是未檢查異常。在閱讀其余部分之前,您可以查看Java 異常層次圖。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比贛州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式贛州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋贛州地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

2. 異常管理的優(yōu)秀實踐

如果可以正確處理異常,則應(yīng)將其捕獲,否則應(yīng)將其拋出。

3、為什么try中定義的變量不能在catch或finally中使用?

在下面的代碼中,try 塊中聲明的字符串s 不能在catch 子句中使用。代碼沒有通過編譯。

try {
File file = new File("path");
FileInputStream fis = new FileInputStream(file);
String s = "inside";
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println(s);
}

原因是您不知道在 try 塊中的哪個位置會拋出異常。很可能在聲明對象之前拋出異常。對于這個特定的示例,這是正確的。

4. 為什么 Double.parseDouble(null) 和 Integer.parseInt(null) 會拋出不同的異常?

他們實際上拋出了不同的異常。這是JDK的問題。它們是由不同的開發(fā)人員開發(fā)的,因此不值得過多思考。

Integer.parseInt(null); 
// throws java.lang.NumberFormatException: null

Double.parseDouble(null);
// throws java.lang.NullPointerException

5、Java中常用的運行時異常

這里只是其中的一些。

IllegalArgumentException
ArrayIndexOutOfBoundsException

當(dāng)條件不滿足時,可以在 if 語句中使用它們,如下所示:

if (obj == null) {
throw new IllegalArgumentException("obj can not be null");

6.我們可以在同一個catch子句中捕獲多個異常嗎?

答案是肯定的。只要這些異常類可以追溯到類繼承層次結(jié)構(gòu)中的同一個超類,您就可以只使用該超類。

7、java中構(gòu)造函數(shù)可以拋出異常嗎?

答案是肯定的。構(gòu)造函數(shù)是一種特殊的方法。這是一個代碼示例。

8. 在 final 子句中拋出異常

執(zhí)行以下操作是合法的:

public static void main(String[] args) {
File file1 = new File("path1");
File file2 = new File("path2");
try {

FileInputStream fis = new FileInputStream(file1);
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
FileInputStream fis = new FileInputStream(file2);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}

但是為了獲得更好的代碼可讀性,您應(yīng)該將嵌入的 try-catch 塊包裝為新方法,然后將方法調(diào)用放在 finally 子句中。

public static void main(String[] args) {
File file1 = new File("path1");
File file2 = new File("path2");
try {

FileInputStream fis = new FileInputStream(file1);
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
methodThrowException();
}
}

9. 可以在 finally 塊中使用 return

是的,它可以。

10. 為什么開發(fā)者默默消費異常?

有很多像下面這樣的時間碼段。如果正確處理異常如此重要,為什么開發(fā)人員繼續(xù)這樣做?

try {
...
} catch(Exception e) {
e.printStackTrace();
}

忽略很容易。頻繁出現(xiàn)并不代表正確。


本文標(biāo)題:關(guān)于Java異常的十大問題
轉(zhuǎn)載注明:http://www.5511xx.com/article/dhhgisg.html