Java異常彙總

Java Exception

1.數組的異常:
ArrayIndexOutOfBoundsException:數組索引越界異常原因:訪問了不存在的索引
NullPointerException:空指針異常原因:數組不在指向堆內存了。而我們還用數組名去訪問元素
*積累自己問題總結:現象,原因,解決方案。
2.字符串異常:
stringindexoutofboundexception:
Java API指出StringIndexOutOfBoundsException異常
     Thrown by String methods to indicate that an index is either negative or greater than the size of the string. For some methods such as the charAt method。
上面的錯誤是因爲當String.length()<10;而我們又要使用Java中的方法(比如:subString()方法),取index>=10的字符,從而拋出上面異常String其實是沒有限制的,而是當String太大了,超過JVM的自身的內存後會拋出java.lang.OutOfMemoryError錯誤
3.類中發生的異常

  ClassCastException是JVM在檢測到兩個類型間轉換不兼容時引發的運行時異常。此類錯誤通常會終止用戶請求。在執行任何子系統的應用程序代碼時都有可能發生ClassCastException異常。通過轉換,可以指示Java編譯器將給定類型的變量作爲另一種變量來處理。對基礎類型和用戶定義類型都可以轉換。Java語言規範定義了允許的轉換,其中大多數可在編譯時進行驗證。不過,某些轉換還需要運行時驗證。如果在此運行時驗證過程中檢測到不兼容,JVM就會引發ClassCastException異常。例如:

Fruit f;

Apple a = (Apple)f;

當出現下列情況時,就會引發ClassCastException異常:

(1)Fruit和Apple類不兼容。當應用程序代碼嘗試將某一對象轉換爲某一子類時,如果該對象並非該子類的實例,JVM就會拋出ClassCastException異常。

(2)Fruit和Apple類兼容,但加載時使用了不同的ClassLoader。這是這種異常發生最常見的原因。在這裏,需要了解一下什麼是ClassLoader?

4.輸入異常

InputMismatchException:輸入的和你想要的不匹配

5.迭代器出現的異常

NoSuchElementException:沒有這樣的元素,在迭代器使用過程中拋出異常,原因可能是已經找到最後一個,或者多次使用next()方法

6.併發修改異常

ConcurrentModificationException:當方法檢測到對象的併發修改,但不允許這種修改時,拋出此異常。

7.正則表達式異常

PatternSyntaxException是一個未經檢查的異常,表明正則表達式模式中的語法錯誤



發佈了79 篇原創文章 · 獲贊 42 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章