異常處理-Java面(miàn)試題

Time:2021/05/25 15:04:15   Click:

 Java中的兩(liǎng)種(zhǒng)異常是什麼(me)?它們之間的區别?
Java有兩(liǎng)種(zhǒng)類型的異常:checked與unchecked(檢查與未檢查) 異常. 如果unchecked異常可能(néng)會(huì)在方法或構造函數的執行時(shí)被(bèi)抛出從而蔓延到方法或構造函數的外部, 它們也不需要要在方法或構造函數中聲明throws子句. 然而, checked異常必須通過(guò)方法或構造函數的throws子句聲明. 關于java異常處理的建議請參考這(zhè)裡(lǐ)Java exception handling.

 Java中異常與錯誤的區别?

Exception和Error都(dōu)是Throwable類的子類. Exception用于用戶程序需要捕獲的異常條件. Error定義了用戶程序不可預見的異常


 throw與throws的區别 ?
關鍵字throw用于在程序中顯式地抛出一個異常. 相反, throws子句用于指出在該方法中沒(méi)有處理的異常. 每個方法必須顯式指明哪些異常沒(méi)有處理, 以便該方法的調用者可以預防可能(néng)發(fā)生的異常. 最後(hòu), 多個異常用逗号分隔.

 異常處理中finally語句塊的重要性?

不管程序是否發(fā)生了異常, finally語句塊都(dōu)會(huì)被(bèi)執行. 甚至當沒(méi)有catch聲明但抛出了一個異常時(shí), finally語句塊也會(huì)被(bèi)執行. 最後(hòu)要說(shuō)一點: finally語句塊通常用于釋放資源, 如I/O緩沖區, 數據庫連接等等.

異常被(bèi)處理後(hòu)異常對(duì)象會(huì)發(fā)生什麼(me)?
異常對(duì)象會(huì)在下次gc執行時(shí)被(bèi)回收.

 怎樣(yàng)區分finally語句塊與finalize()方法?
不管是否抛出異常finally語句塊都(dōu)會(huì)被(bèi)執行, 它通常用于釋放程序持有的資源. finalize是Object類中的一個protected方法, 當一個對(duì)象被(bèi)gc回收前它會(huì)被(bèi)jvm調用.

TAG
TOP

錦江區聚格樂享網絡工作室@2012 版權所有
蜀ICP備12016524号-2

立即咨詢
成(chéng)都(dōu)網站建設,成(chéng)都(dōu)做網站,錦江區聚格樂享網絡工作室
40f13d50b73e104f832ed1b719ae6935