您好,登錄后才能下訂單哦!
這篇文章主要講解了“java常見的異常是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“java常見的異常是什么”吧!
異常
在程序中,錯誤可能產生于程序員沒有預料到的各種情況,或者超出程序員可控范圍的環境,為了能夠及時有效地處理程序中的運行錯誤,Java 專門引入了異常類。
在寫代碼的時候處理異常一般遵循以下三個原則:
1.在當前方法聲明中使用 try catch 語句捕獲異常。
2.一個方法被覆蓋時,覆蓋它的方法必須拋出相同的異常或異常的子類。
3.如果父類拋出多個異常,則覆蓋方法必須拋出那些異常的一個子集,而不能拋出新異常。
Throwable 類是所有異常和錯誤的超類,下面有 Error 和 Exception 兩個子類分別表示錯誤和異常。
Exception 類是用來發現可能出現的異常情況,也用來創建自定義異常,這種異常一般是程序員用來發現代碼錯誤的指示牌,在異常信息里,我們可以找到很多有用的信息,用來引導我們解決問題。我們來new一個最簡單的運行時異常來看一下!!
下圖為報錯信息
不難發現,這個可以很直觀的看到異常信息,因為一旦報錯,我們的異常很可能會被catch吃掉,但是我們throw了一個運行時異常(RuntimeException),可以用來提醒開發人員,并且將異常信息打印出來,方便找錯。
Error 的出現通常是不希望被捕獲的異常,因為Error類型的異常顯示的是與運行的系統本身相關的錯誤,例如堆棧內存溢出,一般出現這類的問題都會比較頭疼,對于我們開發人員來說,如果生產環境上遇到了Error,一般是災難性的。
我們這篇文章主要簡單介紹一下異常以及常見的Exception。
1.Exception
這個不多做介紹,所有異常的根類,當用全局異常器處理的時候,經常會見到。
2.NullPointerException
空指針異常,最常見,但是也是最好檢查的異常之一。一般情況下,異常信息會顯示到你代碼的行數錯誤上去,比如一行代碼報了空指針,那么必然是這一行你操作了一個空的對象,比如你剛new了一個全新的對象,賦值沒有賦進去,就直接get了,那么就會報NullPointerException。簡單點就是你用一個null去點了其他屬性,比如null.get,null.set,諸如此類的操作。
3.SQLException
操作數據庫異常,一般情況下,這個異常都是你的sql寫錯了,這個時候你就要去檢查一下你的sql語句,建議把你的日志信息中的sql語句拷出來,執行一下。
4.ClassNotFoundException
不能加載所需的類,這個異常在新手身上是最常見的,也是最麻煩的,在你實在找不到問題的情況下你可以嘗試clean一下你的Eclipse,或者重啟一下電腦。
5.NumberFormatException
數字轉換異常,這個異常比較簡單,就是轉換到不符合目標數字接收格式的異常。打個比方,假如你用一個字符串“1.5”轉換成Integer,那么就會報這個異常。
6.IOException
IO異常也是很常見的,一般你需要上傳文件等需要操作IO的地方,都需要拋出這個異常。
7.ArraylndexOutOfBoundException
(索引)角標越界異常,對于數組索引,有的叫角標,有的叫下標,反正我們只要知道,這是操作的數組沒有你預想的那么長,比如它的size為1,你去get(2),那么就會出現這個異常,因為他根本沒有這個異常。
8.IllegalArgumentException
非法參數異常,當方法接收到不符合參數列表的參數時,就會報這個異常。
還有一些異常不那么常見或者可將性不高,我們也提一下RuntimeException(運行時異常),FileNotFoundException(找不到文件異常),InterruptedException(線程中斷異常)。
感謝各位的閱讀,以上就是“java常見的異常是什么”的內容了,經過本文的學習后,相信大家對java常見的異常是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。