不是很理解java異常處理中的try catch語句塊,比如說我的catch語句塊中是一個System.out.println("caught IOEexception":e.getMessage()),那麼這個catch語句起到的作用就是提示我一下哪個地方有異常嗎?然後我再去它提示我發生異常的地方去修改我的程序?
那麼如果我的catch語句裡面什麼都沒寫,只是一個catch{};由於寫了try catch語句塊編譯一定會通過,那豈不是說 假如現在我的程序發生了異常 然後被捕獲到了 可是它沒有提示我碰到發生異常的信息,並且編譯通過了 然後運行的時候就會出錯 這樣的話使用了try catch語句塊豈不是還不如不用嗎。。?因為如果我不用try catch語句塊的話 我的編譯就通不過 會提示我哪裡出錯了 我還可以去改。但是使用了try catch語句塊後,編譯通過了 可是運行時就出錯了 。。
剛開始學習java 真心想不通了〒_〒
用try-catch捕獲異常能保證程序即使遭遇異常也扔能安按我們的設計流程運行而不會中斷。
異常分支catch中的異常處理通常是根據你的業務邏輯來做的,打印異常只是一種簡單的處理方式,當然還有其他的處理,比如:記錄異常到數據庫,SQL異常的話在異常分支裡作數據回滾,socket異常的話重置處理狀態………
你直接在catch中是空分支的話,異常就被淹沒了,即使發生了了異常,你也不知道,因為你是簡單處理了異常,所以程序不會拋錯。
如果沒有try-catch 捕獲異常,那麼異常就會由虛擬機拋出,從而導致程序中斷。這個就是異常捕獲的意義:程序可能遭遇錯誤,但是仍然能正常運行。