1. 程式人生 > >每天一道面試題-執行時異常和非執行時異常-你分清楚了嗎?

每天一道面試題-執行時異常和非執行時異常-你分清楚了嗎?

面試中,經常會遇到這樣的情況,

問:談談執行時異常和非執行時異常?

答:執行時異常是指程式執行時發生的異常

問:那麼非執行時異常又是什麼時候發生?

答:。。。。。。

問:請羅列幾個常見的執行時異常?

答:空指標異常,IOException,SQLException,陣列越界異常。。。。

以上這樣的場景非常常見,其實這是一個非常基礎的問題,但發現大家常常搞混。

其實這個問題,我個人認為是取的這個名字誤導了大家,執行時異常(Runtime exception)

這個名字正確的叫法應該是“邏輯錯誤”。

所以,現在你再回頭看,這樣的問題就非常容易區分了。

我們常見的執行時異常,比如“陣列越界”,“空指標”,“算數異常”,“型別轉換異常”,這些是不是都是因為我們程式的邏輯不夠嚴謹而造成,所以叫“邏輯錯誤”更合適。

而像“IO異常”,“SQL異常”這些並非程式造成,而是外界因素造成,所以java提供了異常機制,讓我們提前對這類問題做好預案處理,從而保證了程式的健壯性。

希望對你有所幫助。