exception和runtimeexception的區別,異常的轉換,異常在運行過程當中的分析

exception和runtimeexception的區別,異常的轉換,異常在運行過程當中的分析程序員

1 exception和runtimeexception的區別分析數組

異常的超級父類是throwable,實現的2個子類是error和exception,error是錯誤類,這裏不作分析。io

Exception下面有衆多子類,就是衆多異常。Exception異常主要分爲兩個類型,一個是runtimeException和它的子類,還有一種就是除此以外的異常類。exception

先分析runtimeexception以及它的子類,這個類型的異常的特色是沒必要在方法中聲明,調用者不須要知道異常的可能存在,也沒必要去處理異常。緣由是這個類型的異常並非由程序的功能不完善或者程序自己形成的異常,而是由程序員在調用程序時因爲本身的操做而致使的異常的發生,好比:數組角標越界異常。程序員在運行完程序後,得知異常的提示,能夠立刻經過正確的調用去改正它。程序

除了runtimeexception以及它的子類之外的異常類,都須要在方法中聲明,這類異常都是因爲程序自己功能的不完善,須要提醒調用者可能會出現的異常,這樣的異常怎麼去處理會在異常的運行過程的分析中提到。方法

2異常的轉換im

異常的轉換代碼體現是在經過try catch語句捕獲異常後並無在catch的語句裏處理該異常,而是繼續以新的異常拋出,拋出的異常由原來的異常轉換爲另外一種異常來等待處理。error

代碼:項目

Try{}catch(Exception e){throw new Exception(「這裏是轉換後的異常」)}異常

異常的轉換一般用在這樣的需求下:你去atm上取錢,發現錢出的少了,你打電話給銀行,銀行確定不會立馬來處理這個異常,這時,你須要把你的異常轉換下,你打電話告訴銀行,錢出的多了,銀行會立馬來處理這個異常。這個例子就是異常的轉換。

3異常在運行過程當中的分析

異常能夠在方法中聲明拋出,也能夠在語句中拋出。

在語句中拋出異常,那麼這個語句所在的方法就接到了這個異常,方法就有2個選擇:繼續拋出或者處理,拋出就在方法上拋出便可,處理的話用try,catch對拋出異常的語句處理便可。方法若是繼續拋出,那麼調用這個方法的調用語句所在的方法就會接住這個異常,調用者一樣有上述的兩個選擇。若是最後的主方法也沒有處理,那麼異常就會體如今項目,做品上。

相關文章
相關標籤/搜索