如果我們調用了一個方法,而這個方法throws了一個異常,那么我們應該做什么呢?毫無疑問,eclipse給了我們最佳的的答案,它會提示你:繼續拋出(throws)或者現場解決(try...catch)。這道理很簡單,因為eclipse就是教導我們的。但是假如發生了例外:如上圖,save方法(具體功能不作介紹,與問題無關)明明拋出了一個異常。但是我們調用的時候,竟然沒有提示我們對異常進行處理。為了確定這個方法確實會拋出異常,我反編譯得到源碼:的確拋出異常,但是為什么,eclipse沒有提示處理異常,我很奇怪,各位大神如果懂,請指點一下。
4 回答

donlv
TA貢獻13條經驗 獲得超2個贊
java提供了兩種異常機制。一種是運行時異常(RuntimeExepction),一種是檢查式異常(checked execption)。
檢查式異常:我們經常遇到的IO異常及sql異常就屬于檢查式異常。對于這種異常,java編譯器要求我們必須對出現的這些異常進行catch 所以 面對這種異常不管我們是否愿意,只能自己去寫一堆catch來捕捉這些異常。
運行時異常:我們可以不處理。當出現這樣的異常時,總是由虛擬機接管。比如:我們從來沒有人去處理過NullPointerException異常,它就是運行時異常,并且這種異常還是最常見的異常之一。
添加回答
舉報
0/150
提交
取消