JAVA中的異常疑點解析

來源:互聯網
上載者:User

標籤:

1 final, finally, finalize的區別。

  final 用於聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。

內部類要訪問局部變數,局部變數必須定義成final類型,例如,一段代碼……

 

finally是異常處理語句結構的一部分,表示總是執行。

 

 

finalize是Object類的一個方法,在垃圾收集器執行的時候會調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關閉檔案等。JVM不保證此方法總被調用

2運行時異常與一般異常有何異同?

異常表示程式運行過程中可能出現的非正常狀態,運行時異常表示虛擬機器的通常操作中可能遇到的異常,是一種常見運行錯誤。java編譯器要求方法必須聲明拋出可能發生的非運行時異常,但是並不要求必須聲明拋出未被捕獲的運行時異常。

3error和exception有什麼區別?

error 表示恢複不是不可能但很困難的情況下的一種嚴重問題。比如說記憶體溢出。不可能指望程式能處理這樣的情況。 exception 表示一種設計或實現問題。也就是說,它表示如果程式運行正常,從不會發生的情況。

4Java中的異常處理機制的簡單原理和應用。

異常是指java程式運行時(非編譯)所發生的非正常情況或錯誤,與現實生活中的事件很相似,現實生活中的事件可以包含事件發生的時間、地點、人物、情節等資訊,可以用一個對象來表示,Java使用物件導向的方式來處理異常,它把程式中發生的每個異常也都分別封裝到一個對象來表示的,該對象中包含有異常的資訊。

Java對異常進行了分類,不同類型的異常分別用不同的Java類表示,所有異常的根類為java.lang.Throwable,Throwable下面又派生了兩個子類:Error和Exception,Error 表示應用程式本身無法克服和恢複的一種嚴重問題,程式只有死的份了,例如,說記憶體溢出和線程死結等系統問題。Exception表示程式還能夠克服和恢複的問題,其中又分為系統異常和普通異常,系統異常是軟體本身缺陷所導致的問題,也就是軟體開發人員考慮不周所導致的問題,軟體使用者無法克服和恢複這種問題,但在這種問題下還可以讓軟體系統繼續運行或者讓軟體死掉,例如,數組指令碼越界(ArrayIndexOutOfBoundsException),null 指標異常(NullPointerException)、類轉換異常(ClassCastException);普通異常是運行環境的變化或異常所導致的問題,是使用者能夠克服的問題,例如,網路斷線,硬碟空間不夠,發生這樣的異常後,程式不應該死掉。

java為系統異常和普通異常提供了不同的解決方案,編譯器強制普通異常必須try..catch處理或用throws聲明繼續拋給上層調用方法處理,所以普通異常也稱為checked異常,而系統異常可以處理也可以不處理,所以,編譯器不強制用try..catch處理或用throws聲明,所以系統異常也稱為unchecked異常。

 

就按照三個層級去思考:虛擬機器必須宕機的錯誤,程式可以死掉也可以不死掉的錯誤,程式不應該死掉的錯誤;

5常見到的runtime exception。

java.lang.NullPointerException

java.lang.ClassNotFoundException

SQLException

ClassCastException

java.lang.ArrayIndexOutOfBoundsException

JAVA中的異常疑點解析

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.