java newfile() bug_java初學者小白?遇到BUG就慌了?有關java異常的十大問題詳解!...

1.已檢查與未檢查

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

例如,IOException是一個常用的已檢查異常,而RuntimeException是一個未檢查的異常。您可以在閱讀其余內容之前先檢查一下Java異常層次結構圖。

2.異常管理的最佳實踐

如果可以正確處理異常,則應將其捕獲,否則應將其引發。

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

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

嘗試 {

File file = new File (“ path” );

FileInputStream fis = 新的 FileInputStream (文件);

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

e。printStackTrace ();

系統。出來。println ( s ); }

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

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

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

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

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

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

這里只是其中一些。

IllegalArgumentException

ArrayIndexOutOfBoundsException

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

如果 ( obj == null) {

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

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

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

7.構造函數可以在Java中引發異常嗎?

答案是肯定的。構造函數是一種特殊的方法。這是一個代碼示例。

8.在最后一個子句中引發異常

進行以下操作是合法的:

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

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

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

嘗試 {

FileInputStream fis = 新的 FileInputStream ( file1 );

} catch (FileNotFoundException e ) {

e。printStackTrace ();

} 最后 {

嘗試 {

FileInputStream fis = new FileInputStream ( file2 );

} catch (FileNotFoundException e ) {

e。printStackTrace ();

}

}}

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

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

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

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

嘗試 {

FileInputStream fis = 新的 FileInputStream ( file1 );

} catch (FileNotFoundException e ) {

e。printStackTrace ();

} 最后 {

methodThrowException ();

} }

9.可以在finally塊中使用

是的,它可以。

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

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

嘗試 {

...} catch(Exception e ) {

e。printStackTrace (); }

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

最后,開發這么多年我也總結了一套學習Java的資料與面試題,如果你在技術上面想提升自己的話,可以關注我,私信發送領取資料或者在評論區留下自己的聯系方式,有時間記得幫我點下轉發讓跟多的人看到哦。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530551.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530551.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530551.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java 日期操作工具類_java8操作日期的工具類

java8操作日期的工具類一、方法概覽該包的API提供了大量相關的方法,這些方法一般有一致的方法前綴:of:靜態工廠方法。parse:靜態工廠方法,關注于解析。get:獲取某些東西的值。is:檢查某些東西的…

mysql攔截器實現crud_Mybatis自定義SQL攔截器

本博客介紹的是繼承Mybatis提供的Interface接口,自定義攔截器,然后將項目中的sql攔截一下,打印到控制臺。先自定義一個攔截器package com.muses.taoshop.common.core.database.config;import org.apache.commons.lang3.StringUtils;import or…

python 桌面提醒_使用Python獲取桌面通知

開發一款可提醒您諸如警報或待辦事項清單等計劃的應用程序真是太好了。在本文中,我將引導您逐步編寫如何使用Python獲取桌面通知的程序。桌面通知應用程序如何工作?您今天將要學習開發的桌面通知應用程序的主要目的是不斷提醒我們我們一天中需要完成的不…

java線程同步的實現_【Java多線程系列三】實現線程同步的方法

packagecom.concurrent.test;importjava.util.Stack;importjava.util.concurrent.ArrayBlockingQueue;importjava.util.concurrent.BlockingQueue;importjava.util.concurrent.locks.Condition;importjava.util.concurrent.locks.ReentrantLock;/*** Description: 三種方法實現…

python建立py文件夾過程_Pycharm創建python文件自動添加日期作者等信息(步驟詳解)...

百度AI接口的調用方法不必多介紹。官網地址 人流量統計新建AipBodyAnalysisfrom aip import AipBodyAnalysis""" 你的 APPID AK SK """APP_ID 你的 App IDAPI_KEY 你2021-02-03 14:24:01本文主要介紹了在python3.9下如何安裝scrapy的方法&…

python父親節祝福_父親節祝福語精選簡短 父親節祝福語簡短獨特

1.您的堅忍不拔和錚錚硬骨是我的榜樣,我從您那兒汲取到奮發的力量,走過挫折,邁向成功,爸爸,您是我永遠的榜樣,我愛您!祝您節日快樂!2.您的懷抱,是我的小天地;…

redis java應用_redis在JAVA的簡單應用

reids是一個高性能的key-value數據庫。它存儲的value支持各種類型的數據,如String,List,set,hash類型。在此基礎上,各種不同方式的排序。本文不具體爭對redis數據庫的各種命令,而是在Java實現簡單的調用。1. //初始化R…

java安裝 hello_安裝JAVA步驟,并編寫HELLOWORLD程序

安裝Java步驟,并編寫helloworld程序1.安裝JDK(Java Development Kit)JDK是Java開發工具包(Java Development Kit)的縮寫。它是一種用于構建在J Java 平臺上發布的應用程序、applet和組件的開發環境。即編寫Java程序必須有JDK,它提供了編譯Java和運行Java…

java實現Fmeasure計算_聚類結果的評估指標及其JAVA實現

一. 前言又GET了一項技能。在做聚類算法的時候,由于要評估所提出的聚類算法的好壞,于是需要與一些已知的算法對比,或者用一些人工標注的標簽來比較,于是用到了聚類結果的評估指標。我了解了以下幾項。TP:是指被聚在一類的兩個量被…

java隨機產生坐標點_剛學JAVA不久,問一下怎么把這個程序實現隨機啊,不是按照坐標...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓int i;int z0;int j,h0,k0;int AppletWidch,AppletHeight,currentImage;Image Animation[],SerialImage,OffScreen;Thread newThread;Graphics drawOffScreen;MediaTracker MT;ImageProducer Source;CropImageFilter CutImage;publ…

ubuntu安裝java的rpm_ubuntu安裝jdk-6u45-linux-x64-rpm.bin

1、參考網址:ZC: 網頁內容保存于 “百度云 CodeSkill33 --> 全部文件 >來自網頁 > Linux > ubuntu > ubuntu安裝jdk-6u45-linux-x64-rpm.bin__Work_20160115_0851.rar”2、(1)、我是將jdk-6u45-linux-x64.bin放在 "/home"下的(2)、命令&qu…

java窗體容器坐標_Java的屏幕坐標是以像素為單位的,容器的左下角被確定為坐標的起點。...

屏單位的的左定為的起點Despite ________ difficulties, they did not find the life in London unpleasant.幕坐As soon as I was ____________, I began to have second thoughts about leaving.標被確The girl was uncertain what to do, or what tone of voice to_________…

mysql 相同字段相減_mysql datetime 類型字段相減

背景:今天測試一個mariadb中datatime類型的字段相減問題,直接用2個字段相減得到的數值并不是秒,很坑。后面百度了一些方法,說是使用 DateDiff 函數,這個函數文檔還說有3個參數,但是3個參數運行是報錯的。要…

java類 連接時機_java類的加載時機

類加載它直接表現出來的代碼應該是 ClassLoader.getSystemClassLoader().loadClass("com.my.test.AbcClass")。所以具 體完成類的加載工作的,是常被提到的類加載器ClassLoader,它就是專門干這件事的。“類的加載”具體而言就是指將類.class文件…

Java最短路徑類型_JAVA 最短路徑

1.從景石出發,步行游覽以下景點:①游客服務中心,②陽光草坪,③森林小劇場,④兒童科普體驗區,⑤兒童戲水場,⑥濕地博物館,⑦濕地商業街。建立數學模型,找出從景石出發,到達…

java 外螺旋矩陣_螺旋矩陣的java實現

今天參加了騰訊實習生的在線筆試,螺旋矩陣的問題,算是ACM的入門題吧想到了有兩種實現遞歸和非遞歸輸入:3輸出:1 2 3 8 9 4 7 6 5輸入:5輸出:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 8…

1445.32php,nginx實現mysql的負載均衡

1.下載module模塊$ tar -xzvf nginx-1.2.1.tar.gz$ cd nginx-1.2.1/$ patch -p1 < /path/to/nginx_tcp_proxy_module/tcp.patch /path是指nginx_tcp_proxy_module路徑$ ./configure --add-module/usr/local/ngx_cache_purge-1.4--prefix/usr/local/nginx --with-http_stub…

php date 有warning,php提示PHP Warning: date(): It is not safe to rely on the......錯誤的解決辦法...

在寫php程序中有時會出現這樣的警告&#xff1a;PHP Warning: date(): It is not safe to rely on the systems timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those method…

php不用于輸出的函數,PHP常用函數和常見疑難問題解答

首先介紹下比較簡單但必不可少且實用的知識&#xff0c;可以當手冊查詢&#xff0c;適合像我一樣的新手看。PHP常用庫函數介紹一、PHP字符串操作常用函數1.確定字符串長度int strlen(string str)2.比較兩個字符串a. strcmp函數對兩個字符串進行二進制安全的比較&#xff0c;并區…

php指定字符編碼,PHP字符編碼問題

絕對一勞永逸,確保您再也不會遇到編碼問題&#xff1a;在任何地方使用UTF-8&#xff01;那是(如果你使用mysql和php)&#xff1a;>例如,將數據庫中的所有表格設置為整理“utf8_general_ci”.>建立數據庫連接后,運行以下SQL查詢&#xff1a;“SET NAMES’utf8’”>始終…