❶ java中try和catch的具體作用
try就像一個網,把try{}裡面的代碼所拋出的異常都網住,然後把異常交給catch{}裡面的代碼去處理,最後執行finally之中的代碼。
無論try中代碼有沒有異常,也無論catch是否將異常捕獲到,finally中的代碼都一定會被執行。
例如:當除數為0時,編譯不會報錯,如果沒有try/catch的話,程序直接崩潰。用try/catch的話,則可以讓程序運行下去,並且輸出為什麼出錯。
(1)java中異常必須執行try嗎擴展閱讀
java中try....catch的使用原則
1、當代碼中可能會遇到的異常需要用try{ }catch{Exception e}來處理,否則導致程序崩潰。
2、不要在for循環裡面嵌套try catch子句。
3、盡可能的減少try catch子句的嵌套,會影響性能。
4、同一個try子句中多個catch時,異常處理原則。
當一個try塊中包含眾多語句,可能拋出多種不同的異常,只有通過多個catch塊來捕獲不同的異常。而如果兩個異常存在繼承關系,應該把子類異常放在父類異常的前面來捕獲,或者把最小范圍異常放在最前面 ,范圍大的放在後面。
因為是按照catch塊從上往下匹配,當它匹配某一個catch塊的時候,就直接進入到這個catch塊裡面去了,後面在再有catch塊的話,它不做任何處理,直接跳過去,全部忽略掉。
如果有finally的話進入到finally裡面繼續執行。Exception這個異常的根類一定要剛在最後一個catch裡面,如果放在前面或者中間,任何異常都會和Exception匹配的,就會報已捕獲到異常的錯誤。
❷ java 異常不處理會怎麼樣
會一層一層的往上傳遞,直至捕捉到異常為止。如果始終捕捉不到,只能拋出了!這里的不處理是指,沒有try {}catch{}代碼塊,如果添加了捕捉代碼塊而沒有在catch裡面填寫處理語句,那這種情況也算是捕捉了,不過是沒有什麼動作的處理。
❸ Java 異常中哪些是檢查型異常
java中異常分為兩類:
checked exception(檢查異常)和unchecked exception(未檢查異常),對於未檢查異常也叫RuntimeException(運行時異常)。
❹ 不明白為什麼java要用try.catch.不用完全沒有影響
(1)方便記錄日誌定位問題,有了try.catch,你可以記錄非常詳細的日誌信息,比如記錄一下異常出現的內地方是哪個模塊哪個功能容的哪個方法在進行什麼操作.
這樣的話,一旦出現問題,可以非常快速定位問題.
要知道,實際使用的生產環境,有很多是不能遠程調試的,客戶在內網使用,你只有根據實施提供的日誌來定位問題.
(2)有些異常需要提示客戶,比如互相調用的一些獨立模塊,A模塊調B模塊的時候,B沒有啟動好,這時候拋出的超時之類的異常,就需要捕獲,並且轉換成用戶能理解的信息提示.
(3)有些異常是不能影響業務邏輯的,比如給某個變數初始化值的時候,如果發生異常,給該變數一個默認值,這時候其實是要在catch裡面做處理的.
一個東西出現總是有道理的,其他情況你用到的時候就知道了