java,exception
java中的exception一般來說是代表異常,而異常也就是屬於異常機制,異常機制指的是當程序出現了錯誤之後,程序需要如何處理。簡單來說,就是異常機制提供了程序退出的安全通道,而當出現錯誤後,程序執行的流程就會發生改變,程序的控制權也會轉移到異常處理器。
exception(即異常)一般也就是指程序本身能夠處理的異常。在exception類中有一個重要的子類RuntimeException。RuntimeException類以及其子類所表示的是“JVM常用操作”引發的錯誤。
此外,exception(異常)通常可分爲兩大類,即運行時異常與非運行時異常(編譯異常)。若是在運行過程中出現了應當儘可能地去處理這些異常。
運行時異常
都是屬於RuntimeException類及其子類異常,比如NullPointerException(即空指針異常)、IndexOutOfBoundsException(即下標越界異常)等,這些異常是屬於不檢查異常,程序中能夠選擇捕獲處理,也能不處理。
需要注意的是,這些異常通常是由於程序邏輯錯誤而導致的,程序應該要從邏輯角度儘可能的避免這類異常的發生。而運行時異常的特點就是Java編譯器不會去檢查它,也就是說,當程序中可能會出現這類異常時,即使是沒有用try-catch語句捕獲它,也沒有使用throws子句聲明拋出它,通常也是會直接編譯通過的。
非運行時異常 (即編譯異常)
這是屬於RuntimeException以外的異常,其在類型上都屬於exception類以及其子類。若是從程序語法角度來看,這是必須要進行處理的異常,若是不及時處理的話,程序就不能夠編譯通過。比如IOException、SQLException等及用戶自定義的exception異常,正常情況下就會不自定義檢查異常。
當然,在Java中的異常是可以分爲可查的異常(即checked exceptions)與不可查的異常(即unchecked exceptions)的。
可查異常也就是編譯器要求必須處置的異常,一般來說正確的程序在運行中時,是很容易出現的、可理解的異常狀況。
而不可查異常也就是編譯器不要求強制處置的異常,通常包括運行時的異常與錯誤。
一般來說,若需要處理這些異常會有專門的異常處理的機制,即在Java應用程序當中,其異常處理的機制通常是拋出異常、捕捉異常。
拋出異常
也就是當一個方法出現錯誤引發異常時,方法創建異常對象並且交付運行時系統,異常對象中還包含了異常類型與異常出現時的程序狀態等異常信息。在運行時系統會負責尋找處置異常的代碼並且執行。
捕獲異常
也就是在方法拋出異常之後,運行時系統將會轉爲尋找合適的異常處理器,而潛在的異常處理器是屬於異常發生時依次存留於調用棧中的方法的集合。當異常處理器所能夠處理的異常類型與方法拋出的異常類型相符時,代表是屬於合適的異常處理器。
運行時系統從發生異常的方法開始,會依次回查調用棧中的方法,直到能夠找到含有合適異常處理器的方法並且執行,若是運行時系統遍歷調用棧而並未找到合適的異常處理器,那麼在運行時系統就會終止。
-
新筆記本電腦第一次充電要多久,筆記本電腦充電時間
1、第一次先把筆記本電池中的電完全用完,然後關機充電12個小時以上,最好14個小時左右。2、只有第一次充電需要衝的時間長,以後每次都是充滿即可,現在的筆記本都是有完善的電源管理電路和充電管理體系,充電時間過長,這樣會導致充電時熱量過高,會引起爆炸等現象。3、如...
-
吃菠蘿什麼好處
菠蘿是一種熱帶水果,從十六世紀末傳入中國以來,因爲吃起來酸甜可口,成爲備受人們喜愛的熱帶水果之一,也因此在中國南方,氣候適宜的地方得到普遍的栽培,中國也是世界十大菠蘿產國之一。在生活中有人可能分不清菠蘿和鳳梨的區別,從生物學上來說,這倆是同一種水果,但是在商...
-
樂視視頻開通會員怎麼開
開通樂視視頻會員的途徑很簡單,在官網註冊賬號選擇開通的會員類型,點擊支付即可。也可以通過手機裏面的樂視視頻APP開通會員,先註冊或者登錄已有賬號,選擇右下角的未登錄,點進去可以選擇開通會員。首先,打開樂視視頻軟件,進入主頁面後,選擇右下角的“未登錄”,再“點擊...
-
微博如何移動好友分組
1、進入個人微博,點擊主頁裏的“關注”。或者從首頁裏邊的“關注”進入也是可以的。2、進入關注列表後自動顯示爲查看其他分組,這個時候你可以看到“批量管理”和“排序”兩個選項,你可以進行初步排序管理。3、單擊“查看其他分組”,裏面有你微博裏所有的分組,我們...
相關文章
- internet,explorer阻止了此網站安裝activex控件應該怎麼辦
- 虛擬機的VMware Authorization service未運行
- invocationtargetexception是什麼異常
- indentationerror:expected an,indented block,應該怎麼辦?
- autodesk application manager是什麼軟件
- XP系統出現unable to find a,version of the rutime怎麼辦
- centos安裝javajdk
- Windows無法連接到System event,notification service服務
- antimalware service executable佔內存高如何解決
- 解決Antimalware Service,Executable CPU佔用高