10 個令人深惡痛絕的 Java 異常
異常是 Java 程序中經常遇到的問題,我想每一個 Java 程序員都討厭異常,一 個異常就是一個 BUG,就要花很多時間來定位異常問題。
今天,小編來列一下 Java 中經常遇到的前 10 個異常,排名不分先后。
1、NullPointerException
空指針異常,操作一個 null 對象的方法或屬性時會拋出這個異常。
2、OutOfMemoryError
內存異常異常,這不是程序能控制的,是指要分配的對象的內存超出了當前最大的堆內存,需要調整堆內存大小(-Xmx)以及優(yōu)化程序。
3、IOException
IO,即:input, output,我們在讀寫磁盤文件、網絡內容的時候經常會生的一種異常,這種異常是受檢查異常,需要進行手工捕獲。
如文件讀寫會拋出 IOException:
4、FileNotFoundException
文件找不到異常,如果文件不存在就會拋出這種異常。
如定義輸入輸出文件流,文件不存在會報錯:
FileNotFoundException 其實是 IOException 的子類,同樣是受檢查異常,需要進行手工捕獲。
5、ClassNotFoundException
類找不到異常,Java開發(fā)中經常遇到,是不是很絕望?這是在加載類的時候拋出來的,即在類路徑下不能加載指定的類。
看一個示例:
它是受檢查異常,需要進行手工捕獲。
6、ClassCastException
類轉換異常,將一個不是該類的實例轉換成這個類就會拋出這個異常。
如將一個數(shù)字強制轉換成字符串就會報這個異常:
7、NoSuchMethodException
沒有這個方法異常,一般發(fā)生在反射調用方法的時候,如:
它是受檢查異常,需要進行手工捕獲。
8、IndexOutOfBoundsException
索引越界異常,當操作一個字符串或者數(shù)組的時候經常遇到的異常。
如圖所示,它是運行時異常,不需要手工捕獲。
9、ArithmeticException
算術異常,發(fā)生在數(shù)字的算術運算時的異常,如一個數(shù)字除以 0 就會報這個錯。
這個異常雖然是運行時異常,可以手工捕獲拋出自定義的異常,如:
10、SQLException
SQL異常,發(fā)生在操作數(shù)據(jù)庫時的異常。
如下面的獲取連接:
又或者是獲取下一條記錄的時候:
它是受檢查異常,需要進行手工捕獲。
歡迎工作一到五年的Java工程師朋友們加入Java填坑之路:744817449
群內提供免費的Java架構學習資料(里面有高可用、高并發(fā)、高性能及分布式、Jvm性能調優(yōu)、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!
--------------------------------
本文轉自Java架構博客51CTO博客
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。