1.異常管理的最佳做法
站在用戶的角度思考問題,與客戶深入溝通,找到伊犁網(wǎng)站設(shè)計與伊犁網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋伊犁地區(qū)。如果可以正確處理異常,則應(yīng)該被捕獲,否則應(yīng)該拋出異常。
2.為什么try中定義的變量不能用于catch或finally?
try {File file = new File(“path”);FileInputStream fis = new FileInputStream(file);String s = “inside”;} catch (FileNotFoundException e) {e.printStackTrace();System.out.println(s);}
原因是你不知道在try塊中哪里會拋出異常。在聲明對象之前拋出異常是很有可能的。對于這個特定的例子,這是真的。
3.為什么Double.parseDouble(null)和Integer.parseInt(null)會拋出不同的異常?
他們實際上拋出不同的例外 這是JDK的問題。它們由不同的開發(fā)人員開發(fā),所以不值得太多思考。
Integer.parseInt(null); // throws java.lang.NumberFormatException: nullDouble.parseDouble(null); // throws java.lang.NullPointerException
4.在Java中常用的運行時異常
這只是其中的一部分。
IllegalArgumentException
ArrayIndexOutOfBoundsException
當(dāng)條件不滿足時,它們可用于if語句中,如下所示:
if (obj == null) { throw new IllegalArgumentException(“obj can not be null”);
5.我們可以在同一個catch子句中捕獲多個異常嗎?
答案是肯定的。只要這些異常類可以追溯到類繼承層次結(jié)構(gòu)中的同一個超類,就可以只使用該超類。
6.構(gòu)造函數(shù)可以在java中引發(fā)異常嗎?
答案是肯定的。構(gòu)造函數(shù)是一種特殊的方法。這是一個代碼示例。
7.在最后條款中拋出異常
執(zhí)行以下操作是合法的:
public static void main(String[] args) {File file1 = new File(“path2”);File file2 = new File(“path3”);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塊作為新方法進(jìn)行包裝,然后將方法調(diào)用放在finally子句中。
8.為什么開發(fā)人員默默地使用異常?
有很多的時間代碼段會發(fā)生如下情況。如果正確處理異常非常重要,為什么開發(fā)人員仍然這樣做?
try { …} catch(Exception e) { e.printStackTrace();}
忽略是很容易的。頻繁出現(xiàn)并不意味著正確。
文章來源:搜索引擎大全/tupian/20230522/