日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java newfile() bug_java初学者小白?遇到BUG就慌了?有关java异常的十大问题详解!...

發(fā)布時間:2025/3/8 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java newfile() bug_java初学者小白?遇到BUG就慌了?有关java异常的十大问题详解!... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.已檢查與未檢查

簡而言之,必須在方法中顯式捕獲已檢查的異常,或在方法的throws子句中聲明該異常。未檢查的異常是由無法解決的問題引起的,例如被零除,空指針等。檢查的異常特別重要,因為您希望使用API的其他開發(fā)人員知道如何處理異常。

例如,IOException是一個常用的已檢查異常,而RuntimeException是一個未檢查的異常。您可以在閱讀其余內(nèi)容之前先檢查一下Java異常層次結(jié)構(gòu)圖。

2.異常管理的最佳實踐

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

3.為什么在try中定義的變量不能用于catch或final?

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

嘗試 {

File file = new File (“ path” );

FileInputStream fis = 新的 FileInputStream (文件);

字符串 s = “ inside” ; } catch (FileNotFoundException e ) {

e。printStackTrace ();

系統(tǒng)。出來。println ( s ); }

原因是您不知道在try塊中的哪個位置會引發(fā)異常。很有可能在聲明對象之前引發(fā)了異常。對于此特定示例,這是正確的。

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

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

整數(shù)。parseInt (null); //拋出java.lang.NumberFormatException:null

雙倍。parseDouble (null); //拋出java.lang.NullPointerException

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

這里只是其中一些。

IllegalArgumentException

ArrayIndexOutOfBoundsException

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

如果 ( obj == null) {

拋出 新的 IllegalArgumentException (“ obj不能為null” );

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

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

7.構(gòu)造函數(shù)可以在Java中引發(fā)異常嗎?

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

8.在最后一個子句中引發(fā)異常

進(jìn)行以下操作是合法的:

公共 靜態(tài) 無效主(字符串[ ] args ) {

文件 file1 = 新 文件(“ path1” );

文件 file2 = 新 文件(“ path2” );

嘗試 {

FileInputStream fis = 新的 FileInputStream ( file1 );

} catch (FileNotFoundException e ) {

e。printStackTrace ();

} 最后 {

嘗試 {

FileInputStream fis = new FileInputStream ( file2 );

} catch (FileNotFoundException e ) {

e。printStackTrace ();

}

}}

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

公共 靜態(tài) 無效主(字符串[ ] args ) {

文件 file1 = 新 文件(“ path1” );

文件 file2 = 新 文件(“ path2” );

嘗試 {

FileInputStream fis = 新的 FileInputStream ( file1 );

} catch (FileNotFoundException e ) {

e。printStackTrace ();

} 最后 {

methodThrowException ();

} }

9.可以在finally塊中使用

是的,它可以。

10.為什么開發(fā)人員會默默使用異常?

發(fā)生了許多類似以下的時間代碼段。如果正確處理異常非常重要,為什么開發(fā)人員還會繼續(xù)這樣做呢?

嘗試 {

...} catch(Exception e ) {

e。printStackTrace (); }

因為忽略很容易。頻繁發(fā)生并不意味著不正確。

最后,開發(fā)這么多年我也總結(jié)了一套學(xué)習(xí)Java的資料與面試題,如果你在技術(shù)上面想提升自己的話,可以關(guān)注我,私信發(fā)送領(lǐng)取資料或者在評論區(qū)留下自己的聯(lián)系方式,有時間記得幫我點下轉(zhuǎn)發(fā)讓跟多的人看到哦。

總結(jié)

以上是生活随笔為你收集整理的java newfile() bug_java初学者小白?遇到BUG就慌了?有关java异常的十大问题详解!...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。