首頁 / CompScience / Programming / Languages / java / Java – 常見的例外狀況

Java – 常見的例外狀況

Java物件導向程式設計與SCJP認證明解

這一本書是這陣子在看的,作者很貼心的準備了SCJP總複習擬真試題給我們免費下載,真好!

我看到12-3-2 常見的例外狀況,有關於編譯器不會檢核的RuntimeException的子孫類別有:

NullPointerException
IllegalArgumentException
NumberFormatException
ClassCastException
ArrayIndexOutOfBound:使用索引值存取陣列元素時,索引值超出陣列範圍。
NegativeArraySizeException
ClassCastException
SecurityException
ArithmeticException

應檢核例外:

java.text.ParseException
java.io.FileNotFoundException
java.io.IOException
java.sql.SQLException
java.lang.InterruptedException:使用索引值存取陣列元素時,索引值超出陣列範圍。
java.lang.ClassNotFoundException

有沒有看到ArrayIndexOutOfBound跟java.lang.InterruptedException這兩個解釋一模一樣?怎會這樣?對初學者來說不知道能不能分辨出來,還好ㄚ琪看了很多本SCJP了,所以一會兒就看到這個錯誤了,可能是作者那時在顧小孩的時候,貼錯了吧!

java.lang.InterruptedException主要是執行緒非執行中而嘗試中斷所引發的例外處理,在執行緒那章會常常看到,原文手冊是這樣寫:

『Thrown when a thread is waiting, sleeping, or otherwise occupied, and the thread is interrupted, either before or during the activity. Occasionally a method may wish to test whether the current thread has been interrupted, and if so, to immediately throw this exception. The following code can be used to achieve this effect:

  if (Thread.interrupted())  // Clears interrupted status!
      throw new InterruptedException();

希望大家可以注意到,不會搞錯!

Print Friendly, PDF & Email
馬上成為工作達人的Fans

About ㄚ琪

工作達人Fun Taiwan的創辦者及總編,可以在這裡更認識他。

發表迴響

你的電子郵件位址並不會被公開。 Required fields are marked *

*

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Scroll To Top